Mam pewne problemy z szybkością działania sieci na serwerze Linux z systemem Ubuntu 9.10. Prędkości transferu dla wszystkich rodzajów ruchu wynoszą około 1,5 MB / s przy przewodowym połączeniu Ethernet 1000 Mb / s. Ten serwer osiągnął w ostatnim czasie 55 MB / s w porównaniu z sambą. Nie zmieniłem konfiguracji sprzętu ani sieci. Regularnie uruchamiam aktualizacje, a na tym komputerze działają najnowsze i najlepsze repozytoria Ubuntu.
Konfiguracja sprzętu
Komputer stacjonarny z systemem Windows - przełącznik 1000 - przełącznik 1000 - serwer Linux
Wszystkie przełączniki są podłączone do sieci i wszystkie pokazują zielone światło dla swoich połączeń, co oznacza, że połączenie wynosi 1000 Mb / s. Lampki świecą na żółto, gdy połączenie ma prędkość tylko 100 Mb / s. Inne informacje diagnostyczne:
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
Serwer uważa, że ma połączenie 1000 Mb / s. Przetestowałem prędkość transferu, kopiując pliki przy użyciu Samby. Użyłem również netcata (nc target 10000 <aBigFile) na serwerze, aby przenieść się do systemu Windows (nc -l -p 10000) i widziałem podobne poziomy niskiej wydajności.
Przetestowałem prędkość dysków twardych za pomocą hdparm i uzyskałem:
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
Odczyt tego samego pliku do przesłania za pomocą DD spowodował, że:
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
Jestem zakłopotany. Co może być przyczyną niskiej wydajności sieci, która jest o 2 rzędy wielkości niższa niż zdolność sieci?