我最近购买了一台机器来运行在线游戏服务器。我将机器组装在一起并安装了 Ubuntu Server 10.10 的全新副本。我注意到游戏服务器尽管能够运行服务器应用程序,但仍会产生大量延迟。
我一整天都在试图找出问题所在,现在相信这可能与网络连接有关,因为当我使用 SSH 连接到服务器时,在本地网络,在密码字段出现之前我遇到了很大的延迟。连接到同一网络上的旧服务器会立即显示提示。
我的硬件如下:
Core i5 2500 3.3GHz Socket 1155
Asus P8P67 R3 Socket 1155
4GB DDR3 1333MHz
500GB 3.5" SAT-III Hard Drive
我主要使用 Windows,如果发生这种情况,通常会寻找更新的驱动程序,但我真的不知道在 Linux 上从哪里开始解决这个问题。
非常感激任何的帮助。
答案1
这可能是由 sshd 执行 DNS 查找引起的,尤其是在使用 SSH 密钥时。您可以通过将服务器系统名称和客户端系统名称条目放入 中来调解此问题/etc/hosts
。
看http://psomas.wordpress.com/2009/10/19/sshd-reverse-dns-lookup/更深入一点。
答案2
大多数时候,启动连接时出现烦人的小延迟是由于反向 DNS 不起作用。检查服务器的主/辅助 DNS 条目/etc/resolv.conf
以及它们是否按预期工作。正如@Shawn J,Goff 建议您可以通过手动将您的盒子的 ip -> 主机名条目输入到其文件中来测试或解决此问题/etc/hosts
。
如果这不能解决问题,请检查网络设置,可能配置了错误的网关或错误的网络掩码,但仍然能够使用互联网,但无法获得最佳功能。
下一步是检查 arp 表arp -n
(是否有重复的条目)。查看arping -I ethX ip.add.re.ss
。如果你复制了一台大部分空闲的机器的IP,那么连接时可能会有很长的延迟,并且连接时很少会断开连接。
在所有测试期间在终端上运行sudo tcpdump -ni ethX
并观察 dns 流量、icmp 消息或 arp 数据包。
最后(也是最不可能的)布线或网卡问题。查找dmesg
或上的链接向上/向下/var/log/kern.log
。创建一些流量并观察 tcpdump 输出中的重传或ifconfig ethX
输出中的错误计数器是否增加。