Saya mengalami beberapa masalah dengan kecepatan kinerja jaringan pada server Linux yang menjalankan Ubuntu 9.10. Kecepatan transfer pada semua jenis lalu lintas sekitar 1,5MB / s pada koneksi ethernet kabel 1000mbit / s. Server ini telah mencapai 55MB / s lebih dari samba di masa lalu. Saya belum mengubah perangkat keras atau pengaturan jaringan. Saya menjalankan pembaruan secara teratur dan yang terbaru dan terbaik dari repositori Ubuntu sedang berjalan di mesin ini.
Pengaturan perangkat keras
Desktop Windows PC - 1000 switch - 1000 switch - server Linux
Semua sakelar adalah netgear, dan semuanya menunjukkan lampu hijau untuk koneksinya yang berarti koneksinya 1000mbit / s. Lampu menyala kuning saat koneksi hanya 100mbit / s. Informasi diagnostik lainnya:
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
Server berpikir itu mendapat koneksi 1000mbit / s. Saya telah menguji kecepatan transfer dengan menyalin file menggunakan Samba. Saya juga menggunakan netcat (target nc 10000 <aBigFile) pada server untuk mentransfer ke Windows (nc-l -p 10000) dan melihat tingkat kinerja yang buruk.
Saya menguji kecepatan hard drive menggunakan hdparm dan mendapatkan:
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
Membaca file yang sama untuk transfer menggunakan DD menghasilkan yang berikut:
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
Saya bingung. Apa yang bisa menyebabkan kinerja jaringan yang buruk yaitu 2 order lebih rendah dari apa yang mampu dilakukan jaringan?
sumber
Jawaban:
Beberapa hal yang harus Anda pertimbangkan untuk diperiksa:
netperf hebat dalam mengatasi masalah kinerja jaringan. Tapi netcat tidak buruk dalam keadaan darurat.
sumber
Dalam pengalaman profesional saya, saya telah berjuang untuk mendapatkan kinerja jaringan yang solid dengan Samba di GNU / Linux. Anda menyebutkan bahwa Anda telah mencapai kecepatan 55 MBps dengan itu, yang saya percaya, jadi saya kira sesuatu yang lain pasti sedang bermain.
Namun, sudahkah Anda mencoba NFS, FTP dan SCP? Apakah masalah bandwidth konsisten di berbagai protokol? Jika demikian, kemungkinannya menyempit ke koneksi fisik. Jika Anda mendapatkan hasil yang tidak konsisten, maka kemungkinan masalah perangkat lunak.
Selain menguji protokol lain, apakah Anda menggunakan enkripsi pada transfer? Misalnya, menggunakan
rsync -z
manis untuk mengaktifkan kompresi, tetapi dikenakan biaya CPU, yang sangat memengaruhi kecepatan transfer secara keseluruhan. Jika menggunakanSSH
denganrsync
, maka Anda memiliki enkripsi di atas kompresi, dan CPU Anda akan berada di bawah sedikit tekanan, menyebabkan hukuman kecepatan yang parah.sumber
netstat -i
dan cari kesalahan rx / tx.netstat -s
dan cari masalah tcp - bandingkan nilai sebelum dan sesudah menyalin file dan cari lonjakan besar dalam pengaturan ulang atau transmisi ulang.sumber
Anda mungkin memeriksa kemacetan jaringan Anda; mungkin beberapa perangkat lain menghabiskan semua bandwidth Anda?
Di luar itu, mungkin ada sesuatu yang salah dengan antarmuka jaringan Anda dan / atau drivernya. Cukup aneh.
sumber
Jika memungkinkan, untuk menghapus sebagian besar keraguan bahwa ini memang masalah OS / driver / kartu, sambungkan komputer bersama-sama menggunakan kabel cross over. Ini akan menghapus sakelar dan kemungkinan masalah jaringan lainnya dari persamaan Anda.
sumber