我的办公室里有一台旧的 Debian wheezy 服务器。涉及此服务器的任何网络操作都非常慢,无论是 ssh、scp 还是使用其 Apache Web 服务器。从此 wheezy 服务器内部 ping 本地网络上的任何其他设备都会出现高数据包丢失率(例如 50-80%),这解释了它为什么这么慢。
有什么想法可能导致这种情况?不确定这是否是相关性或因果关系,但速度减慢发生在他们更换计算机内存的同时。正常的命令行操作(当不通过网络 ssh 连接输入时)在速度方面似乎运行良好。
答案1
排除法
网络上从一处到另一处的链条中有许多环节。尝试排除链条中的部分环节,以帮助确定问题。
从网络上的客户端到那台喘息的服务器至少会有
- 客户端操作系统
- 客户端网卡
- 客户端电缆(或 wifi 信号和 wifi 接入点)
- 至少 1 个网络交换机,可能更多,每个交换机之间至少有 1 条电缆
- wheezy 的网线
- wheezy 的网卡
- wheezy 的操作系统
既然您似乎已经怀疑问题出在 wheezy 服务器上,请尝试将另一台设备(而不是 wheezy 服务器)插入同一根网线,看看它是否有同样的问题。然后您应该知道该电缆的哪一侧(或电缆本身)有问题。
您还可以从 Linux Live CD(不必是 wheezy)启动 wheezy 服务器,以查看其运行的软件是否有问题,或者是否与硬件有关。
重复 IP?
另一个完全独立的问题可能发生,即网络上可能存在重复的 IP 地址,并且大量数据包都发往错误的设备。一种简单易懂的检查方法是:
- 尝试在 wheezy 服务器关闭的情况下 ping wheezy 服务器 IP 地址。如果收到响应,则表示存在重复。
- 如果您没有收到回应,则可能只是防火墙被另一台设备阻止了,请查看运行 ping 的设备的 arp 表并检查喘息 IP 的 MAC 地址,如果它已更改,则说明存在重复。
重复的 MAC? 在虚拟化服务器时代,也可能出现重复的 MAC 地址,这也会导致大量数据包丢失。这种情况更难扫描,特别是当具有重复 MAC 地址的设备具有不同的 IP 地址时。如果您有托管交换机,您可以查看其 MAC 表并查看是否在多个端口上可以看到相同的 MAC 地址,或者在拔下 wheezy 服务器时,MAC 地址会更改端口。如果单个端口列出了多个 MAC,请不要担心,因为这很可能只是连接到该端口的另一个交换机。
答案2
在我的路由器设置中,与我的 debian wheezy 设备关联的地址192.168.1.97
被映射到与我的 eth0 端口不同的 MAC 地址。将路由器中的 IP 绑定更改为正确的 MAC 地址解决了该问题,尽管从 IP 绑定设置中删除该 IP 地址也可能有效。