ประสิทธิภาพของ NAS: NFS กับ Samba และ GlusterFS


31

ฉันกำลังวางแผนโครงสร้างพื้นฐานที่เก็บข้อมูลที่ใช้ร่วมกันใหม่ของฉันสำหรับฟาร์มเว็บเซิร์ฟเวอร์ขนาดเล็ก ดังนั้นฉันจึงทำการทดสอบมากมายกับระบบไฟล์ 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


ลืม: มาตรการ NFS นั้นดีที่สุดของคู่ซึ่งฉันเล่นกับ rsize, wsize, noatime, noac, udp vs tcp เป็นต้น
Linus Ardberk

3
+1 สำหรับการวิจัยและการเปรียบเทียบ!
Bigbio2002

1
เราได้สังเกตเห็นความแตกต่างใน CIFS เทียบกับประสิทธิภาพของ NFS ระหว่างการพัฒนาและทดสอบ SoftNAS ฉันสามารถยืนยันได้ว่า async NFS นั้นเร็วกว่า sync NFS มากและ Samba ไม่ได้เปรียบ NFS สำหรับการวัดประสิทธิภาพที่เราได้รันโดยใช้ซอฟต์แวร์มาตรฐาน ATTO

3
คุณได้ทำการรีบูตเครื่องแต่ละเครื่องระหว่างการทดสอบเพื่อล้างแคชการอ่านดิสก์หรือไม่
แมตต์

คำตอบ:


5

เราใช้แซมบ้าอย่างกว้างขวางและฉันมักจะพบว่ามันเร็วกว่า NFS ในเกือบทุกกรณี (และฉันพูดเพียงเพราะฉันไม่ได้เปรียบเทียบมันมากพอ)

จากสิ่งที่ฉันเห็นหลังจากสองแพ็กเก็ตจับโพรโทคอล SMB สามารถช่างพูด แต่ Samba รุ่นล่าสุดใช้ SMB2 ซึ่งสามารถออกหลายคำสั่งด้วยหนึ่งแพ็คเก็ตและออกหลายคำสั่งในขณะที่รอ ACK จากล่าสุด สั่งให้กลับมา สิ่งนี้ได้ปรับปรุงความเร็วของมันอย่างมากอย่างน้อยก็ในประสบการณ์ของฉันและฉันรู้ว่าฉันก็ตกใจเมื่อเห็นครั้งแรกที่ฉันเห็นความแตกต่างของความเร็วเช่นกัน - การแก้ไขปัญหาเครือข่ายความเร็ว - คำถามเก่า ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.