ทำไมปริมาณงานที่ต่างกันโดยใช้ netperf


1

ฉันใช้ netperf บนระบบปฏิบัติการ Windows โดยมีคอมพิวเตอร์สองเครื่องเชื่อมต่อกับสายเคเบิลข้าม พีซีเครื่องแรกใช้ตัวควบคุมเครือข่าย Realtek FE และพีซีเครื่องที่สองมีตัวควบคุม Realtek GBE

ด้วยพีซีเครื่องแรกในฐานะเซิร์ฟเวอร์และที่สองเป็นลูกค้าฉันได้ผลลัพธ์เช่นนี้:

Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

  8192  65536  65536    10.00      95.11  

เมื่อฉันสลับสิ่งรอบ ๆ พีซีเครื่องที่สองคือเซิร์ฟเวอร์และสิ่งแรกคือไคลเอนต์ฉันได้รับผลลัพธ์เช่นนี้:

Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

  65536  8192  8192    10.00      50.11   

เหตุใดปริมาณงานที่แตกต่างกันในสองกรณีนี้

คำตอบ:


1

อาจเป็นเพราะหนึ่งในเครื่องกำลังใช้หน้าต่าง TCP ที่ปรับค่าได้ไม่ดี (netperf เรียกสิ่งนี้ว่า Recv Socket Size) ในระหว่างการจับมือ 3-way TCP ที่เปิดการเชื่อมต่อ TCP แต่ละโฮสต์จะสื่อสารหน้าต่าง TCP ขนาดไหนที่สามารถรับได้ดังนั้นโฮสต์อื่น ๆ ก็รู้ว่าต้องใช้ข้อมูลเท่าไรก่อนรอการตอบรับ TCP

8KiB (8,192 Bytes = 65,536 บิต) ไม่อนุญาตให้มีข้อมูลเพียงพอที่จะนำไปวางบนเครื่องบินได้ด้วยเครือข่าย 100,000,000 bps และ RTT โดยประมาณ (Round Trip Time == ping time) 1ms

ในการคำนวณหน้าต่าง TCP ที่เหมาะสมที่จะใช้คุณต้องคำนวณ "Bandwidth * Delay Product" (BDP) ของคุณ Ping เครื่องหนึ่งจากอีกเครื่องหนึ่งและบันทึกเวลา ping ใน GigE LAN ที่แสนยุ่งของฉันตอนนี้ประมาณ 1 มิลลิวินาที ฉันคิดว่ามันค่อนข้างสูงสำหรับ GigE แต่ไปด้วยกันตั้งแต่ปลายด้านหนึ่งของลิงก์ของคุณแค่ 100BASE-TX

100,000,000 บิตต่อวินาที * 0.001 วินาที (1 มิลลิวินาที) RTT = 100,000 บิต

100,000 bits / 8 bits ต่อ Byte = 12,500 Bytes

12,500 ไบต์ / 1024 ไบต์ต่อ KibiByte = 12.2KiB

ดังนั้นหน้าต่างรับ TCP ของคุณบนเครื่องที่ช้าจะต้องมีขนาดใหญ่กว่าอย่างน้อย 50% (12.2 แทนที่จะเป็น 8 KiB)

จากนั้นอีกครั้งหากคุณใช้ระบบปฏิบัติการที่ทันสมัยเช่น Windows 8.x คำตอบนี้ไม่ควรใช้เนื่องจากโฮสต์ของคุณควรมีการปรับแต่งหน้าต่าง TCP อัตโนมัติดังนั้นค่าที่รายงานครั้งแรกอาจไม่น่าเชื่อถือ หากคุณใช้ระบบปฏิบัติการโบราณเช่น Windows XP หรือหากการปรับแต่งหน้าต่าง TCP อัตโนมัติถูกปิดใช้งานหรือไม่ทำงานด้วยเหตุผลบางอย่าง

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