我的一个服务器的丢包有一些严重的问题。这台服务器是一台有点老的机器(P4时代的),运行Debian和Xen 4.0。它上运行着两个domUs (也都是Debian挤压),一个网关和一个文件服务器。不幸的是,处理器没有虚拟化扩展,因此只能使用PV。
在调查为什么我们的网络速度似乎比应该慢的时候,我发现了一些相当糟糕的数据包丢失(~25%)。经过进一步的调查和几次实验,我在dom0和其中一个domUs之间做了一个测量:
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 110 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to dom0, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 110 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.2(domU) port 33817 connected with 192.168.1.100(dom0) port 5001
[ 4] local 192.168.1.2(domU) port 5001 connected with 192.168.1.100(dom0) port 48606
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 46.3 MBytes 38.7 Mbits/sec
[ 3] Sent 33020 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 46.2 MBytes 38.6 Mbits/sec 0.030 ms 89/33019 (0.27%)
[ 3] 0.0-10.0 sec 1 datagrams received out-of-order
[ 4] 0.0-10.2 sec 43.0 MBytes 35.3 Mbits/sec 13.074 ms 11575/42256 (27%)
tl;dr:使用50 50Mbit数据包从dom0到domU的丢包率为27%。
网络中的任何地方都会发生同样的事情。对于较小的带宽(5 5Mbit为0.047%)和高带宽(200 5Mbit为59%),问题会变得更好。
我确实增加了dom0的CPU重量,没有交换,而且不涉及实际的网络硬件。我从来没有想过Xen (或任何相关的东西)会丢包,而且我完全不知道下一步该做什么。
发布于 2012-10-26 23:09:59
Xen过去在TCP校验和卸载上有问题,但我不确定这是否也用于UDP,是否会影响您的测试。通过在domU中运行以下命令,您可以尝试禁用它:
ethtool -K eth0 tx off
https://serverfault.com/questions/442674
复制相似问题