ซินโนโลยีการอ่านลดลงด้วย Jumbo Frames มากกว่า 6,000


12

เวอร์ชั่นสั้น

เครือข่ายในบ้านของฉันเป็นกิกะบิตบริสุทธิ์พร้อมอุปกรณ์ที่รองรับจัมโบ้เฟรมสูงสุดอย่างน้อย ~ 9000 ไบต์ การเพิ่มการตั้งค่าเฟรมจัมโบ้ MTU บน Synology เป็น 6000 (ไบต์) เพิ่มประสิทธิภาพ (การเขียน 810Mbps และการอ่าน 945Mbps) การตั้งค่าเป็น 7000 จะทำลายประสิทธิภาพการอ่านเท่านั้น (ซึ่งจะลดลงจนถึง 4Mbps) ประสิทธิภาพการเขียนยังคงรวดเร็ว

นี่เป็นสิ่งที่คาดไม่ถึงเนื่องจากปัญหากรอบจัมโบ้ส่วนใหญ่ไม่มีทิศทางที่เกี่ยวข้องกับพวกเขาและโดยปกติแล้วจะเป็นทั้งหมดหรือไม่มีอะไรเลย (แพ็คเก็ตจะถูกทิ้งที่สวิตช์ ดูเหมือนจะไม่มีการกระจายตัวของ IP ใด ๆเกิดขึ้น แต่เลเยอร์ TCP ไม่มีความสุขจริงๆ สิ่งที่อาจทำให้เกิดพฤติกรรมไม่สมมาตร / ไม่สม่ำเสมอนี้และฉันจะแก้ไขปัญหานี้อย่างไรเพื่อสนับสนุนอุปกรณ์ 9000 เต็ม MTU ทั้งหมดที่ฉันควรสนับสนุน


รุ่นยาว

นี่คือบันทึกย่อที่แก้ไขแล้วของฉันในขณะที่พยายามคิดออก

ไคลเอนต์

ตัวควบคุมตระกูล Realtek PCIe GBE RTL8167
จัมโบ้เฟรม: 9KB MTU

$ netsh interface ipv4 show subinterfaces
   MTU  MediaSenseState   Bytes In  Bytes Out  Interface
------  ---------------  ---------  ---------  -------------
  9198                1   32501506   11275394  Local Area Connection

(ปรากฏ 9198 ไม่รวมส่วนหัว 14 ไบต์อีเธอร์เน็ต)

$ ping -l 1500 -f 192.168.1.84

(สังเกตกับ Wireshark ทำงานบนไคลเอ็นต์; ทุกขนาดมีขนาดลวดไบต์)
[9213, ∞] ไม่ได้ส่งโดยโฮสต์ (จะต้อง fragmenting)
[9019, 9212] ส่ง แต่ไม่มีการตอบสนอง
[9015, 9018] การแยกส่วนการตอบสนอง IP
[42, 9014 ] ไม่มีการจัดเรียง IP
[0, 41]? (ไม่สามารถสร้างได้เนื่องจากส่วนหัว eth + IP + ICMP = 14 + 20 + 8 = 42 ไบต์)

เราเตอร์ (ส่วนสวิตช์)

Asus RT-AC68U - เฟิร์มแวร์ 3.0.0.4.378_4585
เปิดใช้งานเฟรมจัมโบ้: "เปิดใช้งาน"
ไม่สามารถหาขนาดเฟรมจัมโบ้ที่รองรับได้จริงดูเหมือนจะมีอย่างน้อย 9000

มันแยกส่วนการร้องขอ ping จากไคลเอนต์ที่ 1514 bytes (แต่การกระตุกเราเตอร์อาจทำให้เกิดการทำงานของเราเตอร์ WAN แทนการทำงานของสวิตช์ LAN หรือไม่)

สวิตช์ที่ไม่มีการจัดการ

TP-LINK TL-SG1008D
จัมโบ้เฟรม (แผ่นข้อมูลจำเพาะ): 9KB (เว็บไซต์ของพวกเขาบอกว่า 15KB แต่ดูเหมือนอุปกรณ์อื่น)

เซิร์ฟเวอร์

Synology DS1815 + - DSM 5.2-5565 อัปเดต 1
กรอบจัมโบ้: 9000

แพ็คเก็ตที่อ่านไฟล์จาก Synology
ถึงขนาดไคลเอ็นต์ : ส่วนใหญ่เป็น 9014 ไบต์ (ทั้งสองทิศทาง)
แฟล็ก IP: ไม่แยกส่วน
Wireshark ที่ค้นพบ: TCP Spurious Retransmission, TCP เซ็กเมนต์ก่อนหน้านี้ไม่ถูกจับ, TCP หมดเวลาสั่งซื้อ และปกติ (9014 ไบต์) แพ็คเก็ตแพ็คเก็ต
SMB2-over-NetBIOS- โพรโทคอลอ่านตอบสนองความยาวอ่าน: 65,536 (~ 8 TCP เซ็กเมนต์)

$ ifconfig
bond0     Link encap:Ethernet  HWaddr --:FF
          inet addr:192.168.1.84  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addrs: --/64 Scope:Link, --/64 Scope:Global, --/64 Scope:Global
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:9000  Metric:1
          RX packets:lots errors:85 dropped:0 overruns:0 frame:85
          TX packets:lots errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:237 GiB  TX bytes:117 GiB

eth2      Link encap:Ethernet  HWaddr --:00
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:lots errors:19 dropped:0 overruns:0 frame:19
          TX packets:lots errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:236 GiB  TX bytes:83 GiB

eth3      Link encap:Ethernet  HWaddr --FF
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:lots errors:66 dropped:0 overruns:0 frame:66
          TX packets:lots errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1 GiB  TX bytes:33 GiB

eth2 และ eth3 ถูกผูกมัดโดยใช้ Adaptive Load Balancing (ไม่รองรับสวิตช์)

$ ping -c 5 -s 1500 192.168.1.82

(สังเกตได้จาก Wireshark ทำงานบนไคลเอนต์ทุกขนาดเป็นขนาดสายไบต์)
[9019, ∞] ส่งคำขอ, ส่งคำตอบ, ไม่ได้รับการตอบสนอง
[9015, 9018] คำขอ IP ที่อยู่อย่างกระจัดกระจาย (อาจมีการแยกส่วนโดย Synology ตัวเลือกไม่มีส่วนดังนั้นจึงยากที่จะบอก)
[60, 9014] IP ที่ไม่มีการจัดเรียง
[0, 59]? (ไม่สามารถสร้างได้เนื่องจาก busybox ping กำหนดอย่างน้อย 18 ไบต์พร้อมส่วนหัว 42 ไบต์)

อื่น ๆ ข้อมูล

  • การเปลี่ยนไคลเอนต์ MTU เป็น 8KB ไม่ได้ช่วยอะไร
  • ความเร็วในการอ่านของเซิร์ฟเวอร์ลดลงจากหน้าผาเมื่อเปลี่ยน MTU ของเซิร์ฟเวอร์จาก 6000 (ดีมาก, 945Mbps) เป็น 7000 (แย่มาก, 4Mbps)
  • ความเร็วในการเขียนของเซิร์ฟเวอร์โดยทั่วไปจะไม่ได้รับผลกระทบจากการตั้งค่าเซิร์ฟเวอร์ MTU ทั้งหมด (อยู่ระหว่าง 700 และ 825 Mbps เสมอ)
  • Synology มีเครือข่ายที่ถูกผูกมัด (2 จาก 4 พอร์ต)
  • สายเคเบิลทั้งหมด Cat6 หรือ Cat5e

คุณต้องยื่นตั๋วสนับสนุนพร้อมกับคำสั่ง ฉันไม่มีประสบการณ์เกี่ยวกับ synology ดังนั้นฉันไม่รู้ว่ามีการตั้งค่าล่วงหน้าที่คุณสามารถเพิ่มขนาดบัฟเฟอร์หน่วยความจำได้หรือไม่ แต่นั่นอาจเป็นสิ่งที่จำเป็น โดยส่วนตัวแล้วฉันมักจะได้ 920mbits และฉันไม่ได้ใช้จัมโบ้เฟรมเลย เพียงแค่มีสวิตช์ netgear ที่ไม่มีการจัดการทั่วไป
cybernard

คำตอบ:


2

อัพเดตเฟิร์มแวร์

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

ทดสอบด้วยการเชื่อมต่อโดยตรง

เชื่อมต่อเครื่องทดสอบของคุณโดยตรงกับ Synology (กำหนด IP แบบคงที่บนซับเน็ตเดียวกัน) ด้วยสายแพตช์ใหม่และทำการทดสอบอีกครั้ง สิ่งนี้จะช่วยลดการเดินสายเคเบิลและสวิตช์รวมถึงปัญหาอุปกรณ์และการกำหนดค่าอื่น ๆ หากปัญหายังคงอยู่ให้ทำการทดสอบกับคอมพิวเตอร์เครื่องอื่น ถ้ามันยังคงเป็นของ NAS อยู่แน่นอน

หากปัญหาหายไปในระหว่างการทดสอบการเชื่อมต่อโดยตรงให้ลองเปลี่ยนสวิตช์ก่อนจากนั้นจึงทำการเดินสายเคเบิล คุณยังไม่ได้แสดงการเชื่อมต่อดังนั้นฉันจึงสมมุติแค่ TPLINK ระหว่างเครื่องทดสอบกับ NAS

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