เหตุใดการเชื่อมต่อเครือข่ายนี้จึงช้า


11

ฉันมีปัญหาบางอย่างกับความเร็วของเครือข่ายบนเซิร์ฟเวอร์ Linux ที่ใช้งาน Ubuntu 9.10 ความเร็วในการถ่ายโอนในการรับส่งข้อมูลทุกประเภทอยู่ที่ประมาณ 1.5MB / s ในการเชื่อมต่ออีเธอร์เน็ตแบบมีสาย 1000mbit / s เซิร์ฟเวอร์นี้ประสบความสำเร็จมากกว่า 55MB / s ใน samba ในอดีตที่ผ่านมา ฉันไม่ได้เปลี่ยนการตั้งค่าฮาร์ดแวร์หรือเครือข่าย ฉันทำการอัพเดทเป็นประจำและล่าสุดและที่ยิ่งใหญ่ที่สุดจากที่เก็บของ Ubuntu กำลังทำงานอยู่บนเครื่องนี้

การติดตั้งฮาร์ดแวร์

เดสก์ท็อปพีซี Windows - สวิตช์ 1,000 - สวิตช์ 1,000 - เซิร์ฟเวอร์ Linux

สวิตช์ทั้งหมดเป็นแบบ netgear และสวิตช์ทั้งหมดจะแสดงแสงสีเขียวสำหรับการเชื่อมต่อซึ่งหมายความว่าการเชื่อมต่อคือ 1000mbit / s ไฟเป็นสีเหลืองเมื่อทำการเชื่อมต่อเพียง 100mbit / s ข้อมูลการวินิจฉัยอื่น ๆ :

root@server:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:6e:3e:ae:36
          inet addr:192.168.1.30  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:6eff:fe3e:ae36/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28678 errors:0 dropped:0 overruns:0 frame:0
          TX packets:73531 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2109780 (2.1 MB)  TX bytes:111039729 (111.0 MB)
          Interrupt:22

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:113 errors:0 dropped:0 overruns:0 frame:0
          TX packets:113 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:23469 (23.4 KB)  TX bytes:23469 (23.4 KB)


root@server:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pg
        Wake-on: g
        Current message level: 0x00000037 (55)
        Link detected: yes

root@server:~# mii-tool
eth0: negotiated 1000baseT-FD flow-control, link ok

เซิร์ฟเวอร์คิดว่ามีการเชื่อมต่อ 1,000mbit / s ฉันทดสอบความเร็วในการถ่ายโอนโดยการคัดลอกไฟล์โดยใช้ Samba ฉันยังใช้ netcat (เป้าหมาย nc 10,000 <aBigFile) บนเซิร์ฟเวอร์เพื่อถ่ายโอนไปยัง Windows (nc -l -p 10000) และเห็นประสิทธิภาพที่แย่ในระดับเดียวกัน

ฉันทดสอบความเร็วของฮาร์ดไดรฟ์โดยใช้ hdparm และได้รับ:

root@server:~# hdparm -tT /dev/md0
/dev/md0:
 Timing cached reads:   1436 MB in  2.00 seconds = 718.01 MB/sec
 Timing buffered disk reads:  444 MB in  3.02 seconds = 147.24 MB/sec

การอ่านไฟล์เดียวกันสำหรับการถ่ายโอนโดยใช้ DD ได้สร้างสิ่งต่อไปนี้:

paul@server:/home/share/Series/New$ dd if=aBigFile of=/dev/null
3200369+1 records in
3200369+1 records out
1638589012 bytes (1.6 GB) copied, 12.7091 s, 129 MB/s

ฉันนิ่งงัน สิ่งใดที่อาจทำให้ประสิทธิภาพของเครือข่ายแย่ลงซึ่งมีขนาดสองลำดับที่ต่ำกว่าเครือข่ายที่มีความสามารถ


serverfault น่าจะดีกว่าสำหรับการถามคำถาม
Maciej Piechotka

ลองคำถาม ServerFault นี้สำหรับเทคนิคทั่วไปที่มีประโยชน์สำหรับการแก้ไขปัญหาการเชื่อมต่อเครือข่ายที่ช้า

หากไม่มีอะไรเปลี่ยนแปลงให้ตำหนิการสึกหรอ (สายเคเบิล)
Mel

คำตอบ:


6

บางสิ่งที่คุณควรพิจารณาตรวจสอบ:

  1. ดูเพล็กซ์ - ถ้าด้านใดด้านหนึ่งคิดว่าลิงค์เป็นเพล็กซ์เต็มหน้าจอและอีกด้านหนึ่งคิดว่าลิงค์นั้นเป็นครึ่งเพล็กซ์
  2. สวิตช์ที่มีข้อบกพร่อง? บายพาสมัน / พวกเขา
  3. เฟรมจัมโบ้ MTU ขนาด 9000 ไบต์ลดค่าใช้จ่ายซึ่งควรเพิ่มปริมาณงาน (เสียเวลาแฝงเล็กน้อย) ดูเหมือนว่าปัญหาของคุณจะแย่ขนาดนี้ แต่มันก็ไม่ได้ช่วยอะไร
  4. คุณสมบัติ TCP: ECN, SACK, การควบคุมความแออัด
  5. ขนาดหน้าต่างการส่ง / รับ TCP ( รายละเอียดสำหรับ linux )

netperf ยอดเยี่ยมในการแก้ไขปัญหาประสิทธิภาพเครือข่าย แต่ netcat ก็ไม่ได้เลวร้ายอะไรนัก


6

จากประสบการณ์การทำงานระดับมืออาชีพของฉันฉันพยายามดิ้นรนเพื่อให้ได้ประสิทธิภาพเครือข่ายที่ดีกับ Samba ใน GNU / Linux คุณพูดถึงว่าคุณประสบความสำเร็จด้วยความเร็ว 55 MBps ด้วยซึ่งฉันเชื่อว่าดังนั้นฉันจึงคาดเดาว่ามีบางอย่างกำลังเล่นอยู่

อย่างไรก็ตามคุณลองใช้ NFS, FTP และ SCP แล้วหรือยัง? ปัญหาแบนด์วิดธ์สอดคล้องกันในโปรโตคอลที่แตกต่างกันหรือไม่? ถ้าเป็นเช่นนั้นมันอาจจะแคบลงไปจนถึงการเชื่อมต่อทางกายภาพ หากคุณได้รับผลลัพธ์ที่ไม่สอดคล้องกันอาจเป็นปัญหาซอฟต์แวร์

นอกเหนือจากการทดสอบโปรโตคอลอื่นคุณใช้การเข้ารหัสในการโอนหรือไม่ ตัวอย่างเช่นการใช้rsync -zเป็นสิ่งที่น่ายินดีสำหรับการเปิดใช้งานการบีบอัด แต่มีค่าใช้จ่าย CPU ซึ่งมีผลกระทบอย่างรุนแรงต่อความเร็วโดยรวมของการถ่ายโอน หากใช้SSHกับrsyncคุณจะมีการเข้ารหัสที่ด้านบนของการบีบอัดและ CPU ของคุณจะอยู่ภายใต้ความเครียดเล็กน้อยทำให้เกิดการลงโทษด้วยความเร็วที่รุนแรง


2
  1. ลองnetstat -iหาข้อผิดพลาด rx / tx
  2. ลองnetstat -sและค้นหาปัญหา tcp - เปรียบเทียบค่าก่อนและหลังการคัดลอกไฟล์และค้นหา spikes ขนาดใหญ่ในการรีเซ็ตหรือส่งใหม่

อนิจจาไม่มีข้อผิดพลาด TX / RX เลยหลังจาก 100MB และจำนวนการรีเซ็ตได้รับอย่างต่อเนื่อง 4 ตั้งแต่ต้นจนจบการทดสอบ
Paul Keeble

0

คุณอาจตรวจสอบความแออัดของเครือข่ายของคุณ; บางทีอุปกรณ์อื่น ๆ ใช้แบนด์วิดท์ทั้งหมดของคุณใช่ไหม

นอกเหนือจากนั้นอาจมีบางอย่างผิดปกติกับส่วนต่อประสานเครือข่ายของคุณและ / หรือไดรเวอร์ สวยแปลก ๆ


ในช่วงเวลาของการทดสอบอุปกรณ์เหล่านี้เป็นเพียงสองอุปกรณ์ในเครือข่ายเท่านั้น
Paul Keeble

0

หากเป็นไปได้ในการกำจัดข้อสงสัยส่วนใหญ่ว่าเป็นปัญหาของ OS / ไดรเวอร์ / การ์ดให้เชื่อมต่อคอมพิวเตอร์เข้าด้วยกันโดยใช้สายเคเบิลแบบไขว้ สิ่งนี้จะลบสวิตช์และปัญหาเครือข่ายอื่น ๆ ที่เป็นไปได้ออกจากสมการของคุณ

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