ประสิทธิภาพการใช้งานร่วมกันของ Windows File Sharing (SMB) บนเครือข่ายกิกะบิตอีเทอร์เน็ตคืออะไร


10

ฉันเพิ่งตั้งค่าการแชร์ไฟล์ Windows บนเครือข่ายกิกะบิตอีเธอร์เน็ต (ฉันไม่ได้ใช้เฟรมจัมโบ้) กับเซิร์ฟเวอร์ Samba และไคลเอนต์ Windows Vista ฉันได้ทำสำเนาไฟล์ไว้สองสามชุด แต่ปริมาณการรับส่งสูงสุดที่ฉันเห็นคือ 20MB / s (เมกะไบต์ไม่ใช่เมกะบิต) ซึ่งประมาณ 15% ของจำนวนสูงสุดของทฤษฎีที่ 125MB / s สำหรับเครือข่าย เซิร์ฟเวอร์มีอาร์เรย์ RAID ที่สามารถจัดการประมาณ 75MB / s (คอขวดคือบัส PCI) และไคลเอนต์สามารถจัดการประมาณ 40MB / s ในการคัดลอกแบบดิสก์ต่อดิสก์

ฉันควรเพิ่มว่าไม่มีการรับส่งข้อมูลอื่นบนเครือข่ายในเวลานั้น

ฉันเข้าใจว่าฉันจะไม่ได้รับค่าสูงสุดทางทฤษฎี แต่ฉันไม่คิดว่ามันจะแย่ขนาดนี้

ประสิทธิภาพการใช้งานร่วมกันของ Windows File Sharing (SMB) บนเครือข่ายกิกะบิตอีเทอร์เน็ตคืออะไร

คะแนนโบนัส: ฉันสามารถปรับแต่งอะไร (นอกเหนือจากการใช้เฟรมจัมโบ้) เพื่อให้เร็วขึ้นได้อย่างไร


2
ฉันได้แก้ไขปัญหาด้านประสิทธิภาพการทำงานบนเครือข่ายของฉันแล้ว: มันเป็นการรวมกันของ NIC แบบออนบอร์ดที่ไม่ดีบนเซิร์ฟเวอร์และไดรเวอร์ NIC เก่าบนไคลเอนต์ ตอนนี้ฉันเห็นระหว่าง 50MB / s และ 80MB / s บนสำเนาจำนวนมากที่ฉันทำการทดสอบ แม้ว่าการถ่ายโอนจะดูเหมือนหยุดชั่วคราวโดยไม่คาดคิดเป็นเวลาสองสามวินาทีเป็นครั้งคราว
Kaypro II

1
อีกสาเหตุของประสิทธิภาพเครือข่ายที่แย่ของฉันก็คือเพียงแค่ใช้ Virtual PC (โดยไม่จำเป็นต้องมีภาพใด ๆ ที่ทำงาน) สิ่งที่ดูเหมือนจะทำให้ NIC ของฉันเร่งความเร็วถึง ~ 100Mbps บนเครื่อง Vista ของฉัน
Kaypro II

คำตอบ:


8

คุณภาพของการ์ดเครือข่ายสวิตช์และสายเคเบิลของคุณอาจมีผลกระทบทั้งหมด มันอาจคุ้มค่าที่จะค้นหาคำวิจารณ์ของ NICs และสวิตช์ที่คุณใช้เพื่อดูว่าคนอื่นรายงานว่าพวกเขาทำงานได้ไม่ดีหรือไม่ ฉันพูดได้เลยว่า NICs ที่ติดตั้งภายในตัวเครื่องนั้นแย่กว่าการถ่ายโอน Gbit แต่จากประสบการณ์ของฉันสิ่งนี้ดูเหมือนจะไม่ได้สร้างความแตกต่างมากนักหากมีสภาพแวดล้อมของฉัน

เพื่อเป็นข้อมูลอ้างอิงฉันเพิ่งติดตั้งสวิตช์ Gbit ใหม่ในสำนักงานของเรา (แทนที่สวิตช์ 100Mbit เก่า) และการโอน SMB ขนาดใหญ่ทำงานใกล้เคียงกับ (แต่น้อยกว่า) 30Mbyte / วินาทีระหว่างชุดค่าผสมแต่ละเครื่องที่ฉันทดสอบ ฉันเพิ่งทำการทดสอบอย่างรวดเร็วกับ netcat ระหว่างสองเครื่องและได้ผลลัพธ์ที่คล้ายกันดังนั้นฉันไม่คิดว่า SMB เป็นคอขวด เครื่องจักรสองเครื่องที่ฉันเพิ่งทดสอบมีสวิตช์สองอันซึ่งอาจมีผลกระทบ แต่ฉันคิดว่าผลกระทบนั้นจะน้อยที่สุดเมื่อตัวเลขใกล้ที่จะถ่ายโอน SMB ไปยังเครื่องที่สวิตช์เดียวกัน

อัตราการถ่ายโอนที่ดีที่สุดที่ฉันเคยเห็นในเครือข่าย Gbit คือความเขินอายเล็กน้อยที่ 50Mbyte / วินาทีที่เร็วที่สุด นี่คือการถ่ายโอนภาพไดรฟ์จากเครื่องหนึ่งไปยังไฟล์บนอีกเครื่องหนึ่ง (เพื่อวัตถุประสงค์ในการแปลงเป็นไดรฟ์เสมือน VMWare ในกรณีนี้ทั้งสองเครื่องเชื่อมต่อผ่านสายเคเบิลแบบไขว้สั้น ๆ แทนที่จะผ่านสวิตช์ หนึ่งในเครื่องที่สงสัยคือหนึ่งในเครื่องที่ฉันเพิ่งทดสอบและได้รับ ~ 29Mbyte / วินาทีจาก - ผู้ร้ายที่น่าจะเป็นไปได้มากที่สุดสำหรับคอขวดหลักในกรณีของฉันน่าจะเป็นสายไฟอายุ 8 ปีในอาคารที่อาจจะทำเสร็จ ในราคาถูก! การทดสอบที่รวดเร็ว (และไม่สำคัญเท่ากัน) ในเครือข่ายภายในบ้านเล็ก ๆ ของฉันเห็นอัตราการถ่ายโอนมากกว่า 35Mbyte / วินาทีคัดลอกไฟล์จาก Samba ที่แชร์ไปยังกล่อง Windows และ 25Mbyte / วินาทีในทิศทางอื่น (I '

เฟรมจัมโบ้จะสร้างความแตกต่างให้กับการถ่ายโอนจำนวนมากดังนั้นฉันขอแนะนำให้คุณลองดูว่าชุดทั้งหมดของคุณรองรับอย่างถูกต้องหรือไม่

ในการตัดเรื่องสั้นให้สั้นลง: โดยประสบการณ์สั้น ๆ ของฉัน 20Mbyte / วินาทีของคุณค่อนข้างช้า แต่ก็ไม่มากนัก การติดตั้ง Windows และ Samba ทั้งหมดของฉันนั้นไม่ได้รับการปรับแต่งอย่างสมบูรณ์เลยดังนั้นฉันสงสัยว่าฮาร์ดแวร์ / สายไฟของคุณนั้นแตกต่างจากที่ฉันเห็นและสิ่งที่คุณเห็น

แก้ไข

แน่นอนห้าปีต่อจากคำตอบนี้ฮาร์ดแวร์และซอฟต์แวร์ได้ย้ายไป ฉันมักจะเห็นการถ่ายโอน 90+ MiB / วินาทีบนเครื่องที่มีเครือข่าย Gbit แม้ว่าจะมีชุดราคาถูก สื่อภายในบ้านของฉัน / การสำรองข้อมูล / เซิร์ฟเวอร์อื่น ๆ ดูเหมือนว่าจะถูก จำกัด เพียงเล็กน้อยสำหรับการถ่ายโอนจำนวนมาก แต่ก็ดูเหมือนว่าแซมบ้าจะถูกเชื่อมโยงกับ CPU บนแกนหลักของฮาร์ดแวร์ของกล่อง


การเดินสายไม่ควรเป็นปัญหาสำหรับฉันส่วนกิกะบิตในเครือข่ายของฉันคือ CAT6 อย่างสมบูรณ์ ฉันไม่สามารถใช้เฟรมจัมโบ้ได้เพราะเครือข่าย (บ้าน) ของฉันแตกต่างกัน - ฉันมี wifi และเซ็กเมนต์ 100Mbit - และฉันเข้าใจว่าเฟรมจัมโบ้นั้นเป็นกิกะบิตเท่านั้น แม้ว่าถ้าฉันสามารถ จำกัด จัมโบ้เฟรมให้กับโฮสต์บางคู่มันอาจใช้ได้ นั่นเป็นจุดที่ดีเกี่ยวกับฮาร์ดแวร์ เหมืองทั้งหมดเป็นเกรดผู้บริโภค ฉันจะต้องดูว่า อีกความคิดหนึ่งที่ฉันมีก็คือการเชื่อมต่อ NIC ในตัวอาจเป็นปัญหาได้อย่างไร หากอยู่บนบัส PCI นั่นอาจเป็นปัจจัย
Kaypro II

1
คุณไม่ได้หมายถึง "20Mbyte / วินาทีของคุณช้าไปนิด แต่ก็ไม่ได้หนาแน่นขนาดนั้น" (กินจนจบ) +1 อย่างอื่นเขียนที่ดี
ต้มตุ๋น Quixote

จับได้ดี ~ นักต้มตุ๋นแก้ไขโดยถูกต้อง
David Spillett

arrrgh เศร้าฉันไม่สามารถแก้ไขความเห็นหรือผมอยากหยุดกินท้ายที่สุด ...
นักต้มตุ๋น Quixote

4

อ่า ... นี่คือที่สำคัญสำหรับคนเซิร์ฟเวอร์ที่จะเข้าใจสิ่งที่อยู่ภายใต้ประทุน เนื่องจากนี่เป็นสองปีฉันคิดว่าเขาได้รับการแก้ไขแล้ว อย่างไรก็ตามสำหรับลูกหลานหรือใครก็ตามที่มีปัญหาคล้ายกันสิ่งที่เขาอาจพบคือ

(ขนาดหน้าต่าง TCP * 8bits / RTT เป็นมิลลิวินาที) = ปริมาณงาน TCP สูงสุดในหน่วย bps

ในขณะที่คุณอาจมีเครือข่ายกิกะบิตการไหลของ TCP เพียงครั้งเดียวอาจไม่สามารถสูงได้

นี่คือตารางอย่างง่ายโดยสมมติว่าคุณมีขนาดหน้าต่างเริ่มต้น 65535Byte TCP ใน Vista

RTT 10 ms => ปริมาณงาน TCP = 52428000 bps = 52Mbps

RTT 20 ms => ปริมาณงาน TCP = 26214000 bps = 26Mbps

RTT 50 ms => ปริมาณงาน TCP = 10485600 bps = 10Mbps

RTT 100 ms => ปริมาณงาน TCP = 5242800 bps = 5.2Mbps

RTT 150 ms => ปริมาณงาน TCP = 3495200 bps = 4.3Mbps

RTT 200 ms => ปริมาณงาน TCP = 2621400 bps = 2.5Mbps

RTT 300 ms => ปริมาณงาน TCP = 1747600 bps = 1.7Mbps

RTT 500 ms => ปริมาณงาน TCP = 1048560 bps = 1Mbps

ที่ 20Mbytes / วินาทีหรือ 160Mbits / วินาทีเวลาในการตอบสนองของคุณมีแนวโน้มที่จะอยู่ที่ประมาณ 3 มิลลิวินาที วิธีเดียวที่จะเพิ่มความเร็วให้สูงขึ้นคือการใช้ TCP optimizers ที่ทำซ้ำบนลวดหรือประกบกันเป็นชิ้นเล็กชิ้นใหญ่ ผ่าน LAN ที่มีแนวโน้มว่าจะไม่ทำให้คุณมีค่าใช้จ่ายมากนัก หากคุณกำลังใช้อุปกรณ์โซโหเช่น Linksys หรือ Netgear เวลาในการตอบสนองของคุณน่าจะถูกนำเสนอเนื่องจากขาดบัฟเฟอร์ที่ใช้ร่วมกันบนสวิตช์ หากเป็นสวิตช์ขนาดใหญ่กว่าเช่นพอร์ต 24 ให้ลองตรวจสอบว่าอุปกรณ์ทั้งสองเชื่อมต่อกับ ASIC เดียวกัน สิ่งนี้จะช่วยให้การทำให้เป็นอนุกรมล่าช้า แต่ไม่มากนัก หากคุณสามารถลดระดับลงเป็น 2 มิลลิวินาทีคุณจะได้รับการเพิ่มสูงสุดประมาณ 31-32Mbytes / วินาที หากสวิตช์เหล่านี้มีสวิตช์ที่แตกต่างกันสองตัวคุณก็สามารถทำได้โดยไม่มีฮาร์ดแวร์ใหม่


2

ไม่ใช่ว่าสิ่งนี้จะช่วยคุณในกรณีนี้ แต่ Vista / Windows 7 ที่พูดคุยกับ Windows 2008 Server จะใช้ SMB2 ซึ่งมีประสิทธิภาพมากกว่า SMB ธรรมดาและจะใช้แบนด์วิดท์เครือข่ายมากขึ้น ดูการปรับปรุงประสิทธิภาพของ File Server ด้วยโปรโตคอล SMB2 ใน Windows Server 2008และEnhanced Network Performance ด้วย Microsoft Windows Vista และ Windows Server 2008สำหรับข้อมูลเพิ่มเติม

SMB2 จะถูกทำงานใน Samba 4 แต่ดูเหมือนว่ามันจะถูกbackported ไปแซมบ้า 3.5

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