ฉันกำลังวางแผนโครงสร้างพื้นฐานที่เก็บข้อมูลที่ใช้ร่วมกันใหม่ของฉันสำหรับฟาร์มเว็บเซิร์ฟเวอร์ขนาดเล็ก ดังนั้นฉันจึงทำการทดสอบมากมายกับระบบไฟล์ NAS จำนวนมาก ด้วยการทำเช่นนั้นฉันได้รับผลลัพธ์ที่ไม่คาดคิดและต้องการทราบว่ามีคนที่นี่สามารถยืนยันสิ่งนี้ได้ไหม
กล่าวโดยย่อ: Samba เร็วกว่า NFS และ GlusterFS อย่างมากสำหรับการเขียนไฟล์ขนาดเล็ก
ที่นี่สิ่งที่ฉันทำ: ฉันรัน "rsync benchmark" ที่เรียบง่ายพร้อมไฟล์จำนวนมากเพื่อเปรียบเทียบประสิทธิภาพการเขียนสำหรับไฟล์ขนาดเล็ก เพื่อการทำสำเนาที่ง่ายขึ้นฉันเพิ่งรันอีกครั้งด้วยเนื้อหาของ wordpress tar.gz ปัจจุบัน
- GlusterFS จำลองแบบ 2: 32-35 วินาที , โหลด CPU สูง
- GlusterFS single: 14-16 วินาที , โหลด CPU สูง
- ไคลเอนต์ GlusterFS + NFS: 16-19 วินาที , โหลด CPU สูง
- เคอร์เนลเซิร์ฟเวอร์ NFS + ไคลเอ็นต์ NFS (ซิงค์): 32-36 วินาทีโหลด CPU ต่ำมาก
- เคอร์เนลเซิร์ฟเวอร์ NFS + ไคลเอนต์ NFS (async): 3-4 วินาทีโหลด CPU ต่ำมาก
- แซมบ้า: 4-7 วินาที , โหลดซีพียูขนาดกลาง
- Direct disk: <1วินาที
ฉันไม่ได้เป็น suru guru อย่างแน่นอน (ฉันคิดว่ารายชื่อผู้ติดต่อล่าสุดของฉันอยู่กับ samba 2.x) ดังนั้นฉันจึงไม่ได้เพิ่มประสิทธิภาพอะไรเลย สิ่งเดียวที่ฉันเพิ่ม "ซิงค์เสมอ = ใช่" ซึ่งควรจะบังคับใช้การซิงค์หลังจากเขียน (แต่เห็นผลลัพธ์เหล่านั้น .. ) ก็ไม่มีการทดสอบที่เร็วขึ้นประมาณ 1-2 วินาที
การทดสอบทั้งหมดที่ทำงานบนเครื่องเดียวกัน (ติดตั้งด้วยตนเองคือการส่งออก NAS) ดังนั้นจึงไม่มีความล่าช้าของเครือข่าย - ประสิทธิภาพของโปรโตคอลที่บริสุทธิ์
โหนดด้านข้าง: เนื่องจากระบบไฟล์ i ใช้ ext4 และ xfs ผลลัพธ์ข้างต้นอยู่กับ ext4 xfs ทำงานได้ดีขึ้น 40% (ใช้เวลาน้อยกว่า) เครื่องจักรเป็นอินสแตนซ์ของ EC2 m1.small การส่งออก NAS อยู่ในปริมาณ EBS แหล่งที่มา (tar ที่แยกแล้ว) บนดิสก์ชั่วคราว
ดังนั้นที่นี่เราไป: ใครสามารถอธิบายให้ฉันทำไม samba เร็วขึ้นมาก?
นอกจากนี้: ประสิทธิภาพการทำงานของ NFS กับเคอร์เนลเซิร์ฟเวอร์นั้นน่ากลัว (มีประสิทธิภาพเหนือกว่าโดยเซิร์ฟเวอร์ GlusterFS NFS) ในโหมดซิงค์หรือไม่ ความคิดใดวิธีการปรับนี้
ขอบคุณ L