Pau*_*ble 11 performance networking ubuntu private-network
我在运行 Ubuntu 9.10 的 Linux 服务器上遇到网络性能速度问题。在 1000mbit/s 有线以太网连接上,所有类型流量的传输速度约为 1.5MB/s。该服务器最近在 samba 上达到了 55MB/s。我没有更改硬件或网络设置。我确实定期运行更新,并且 Ubuntu 存储库中的最新和最好的版本正在这台机器上运行。
台式 Windows PC - 1000 交换机 - 1000 交换机 - 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
Run Code Online (Sandbox Code Playgroud)
服务器认为它有一个 1000mbit/s 的连接。我已经通过使用 Samba 复制文件来测试传输速度。我还在服务器上使用 netcat (nc target 10000 < 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
Run Code Online (Sandbox Code Playgroud)
使用 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
Run Code Online (Sandbox Code Playgroud)
我难住了。什么可能导致网络性能比网络能力低 2 个数量级?
根据我的专业经验,我一直在努力在 GNU/Linux 上使用 Samba 获得良好的稳定网络性能。你提到你已经用它实现了 55 MBps 的速度,我相信,所以我猜肯定还有别的东西在起作用。
但是,您是否尝试过 NFS、FTP 和 SCP?不同协议的带宽问题是否一致?如果是这样,它很可能缩小到物理连接。如果您得到不一致的结果,则可能是软件问题。
除了测试其他协议,您是否在传输中使用加密?例如,使用rsync -z
启用压缩很不错,但它会消耗 CPU,这会严重影响传输的整体速度。如果使用SSH
with rsync
,那么您在压缩之上进行了加密,您的 CPU 将承受一些压力,从而导致严重的速度损失。
小智 6
您应该考虑检查的一些事项:
netperf 非常擅长解决网络性能问题。但在紧要关头,netcat 还不错。
归档时间: |
|
查看次数: |
45662 次 |
最近记录: |