一些连接到我的服务器的客户端一直说他们的 ping 值非常高,并且不断与服务器断开连接(是的,它是一个我的世界服务器,但它也托管文件服务器、机器人和其他东西),尽管有些客户端的 ping 速度非常快联系。我与那些连接不良的人交谈过,他们似乎与距离他们较远的其他服务器有良好的连接,并且应该具有比我们的服务器更高的 ping。
由于我对如何开始解决此问题几乎一无所知,因此我该如何开始以及导致某些客户端的高 ping 和断开连接的可能原因是什么?
到目前为止我有以下信息:
- 服务器有空闲内存(很多)
- 服务器未使用其全部处理能力
- 即使在现实生活中的相似位置同时连接,有些客户端的性能也非常高,有些客户端的性能非常低
- 服务器已重新启动
- 交换内存已减少
- 服务器托管在 IPV4 端口上
- 滞后的客户端无需 VPN 即可直接连接到服务器
- 当前没有 nginx 或类似服务正在运行
- 使用 UFW 打开必要的服务器端口
- 服务器有免费带宽(从hetzners网站检查)
- 滞后客户端有 ipv4 地址,但非滞后客户端也有
- 一些客户端不断随机断开连接(每隔几分钟)
- 服务器使用Java
- 服务器软件已更新至最新版本
- 一些netty网络数据包不断损坏(例如:“内部异常:io.netty.handler.codec.DecoderException:java.io.IOException:数据包0/31(ty)比我预期的要大,在读取数据包时发现额外10280字节31" 并非所有错误都是这样,有些只是说客户端只是断开连接)
这是ifconfig
重置后几分钟打印出来的内容(ipv 地址已稍作更改)
enp35s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 95.217.120.173 netmask 255.255.255.192 broadcast 95.217.120.191
inet6 2a01:000:00:0000::2 prefixlen 64 scopeid 0x0<global>
inet6 fe80::aaa1:0000:0000:8e5 prefixlen 64 scopeid 0x20<link>
ether a8:a1:00:00:00:e5 txqueuelen 1000 (Ethernet)
RX packets 1562223 bytes 109572401 (104.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4615944 bytes 4081321353 (3.8 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xf7200000-f727ffff
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2945629 bytes 7593571263 (7.0 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2945629 bytes 7593571263 (7.0 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
目前的DNS设置如下:
对于我的世界:
SRV 记录 _minecraft _tcp 0 5 25565 mc.karanteeni.net
记录 mc 95.217.120.173
(取自 namecheap dns)
对于 www:
(默认github指南设置)
其他的:
URL重定向记录 http://95.217.120.173:<端口>/ <屏蔽/非屏蔽>
跑步tracert mc.karanteeni.net
在没有高 ping 的情况下在我的机器上运行命令会产生以下结果:
1 <1 ms <1 ms <1 ms home [192.168.1.1]
2 6 ms 6 ms 6 ms dsl-trebng21-58c180-2.dhcp.inet.fi [88.193.000.0]
3 9 ms 8 ms 8 ms 141.208.000.000
4 9 ms 9 ms 8 ms 62.115.000.00
5 9 ms 10 ms 9 ms hls-b3-link.ip.twelve99.net [62.115.000.000]
6 10 ms 10 ms 10 ms hetzner-svc076536-ic365572.ip.twelve99-cust.net [62.115.52.255]
7 11 ms 10 ms 10 ms core32.hel1.hetzner.com [213.239.203.209]
8 10 ms 11 ms 10 ms ex9k1.dc4.hel1.hetzner.com [213.239.252.98]
9 10 ms 10 ms 10 ms static.173.120.217.95.clients.your-server.de [95.217.120.173]
在其他所有者的计算机上运行命令,该计算机现在具有非常高的 ping 值:
1 <1 ms <1 ms 2 ms router.asus.com [192.168.1.1]
2 120 ms 70 ms 181 ms 46-163-000-0.blcnet.fi [46.000.000.0]
3 7 ms 13 ms 16 ms 46-163-000-000.blcnet.fi [46.163.000.000]
4 6 ms 6 ms 8 ms 46-163-000-000.blcnet.fi [46.163.000.000]
5 8 ms 12 ms 9 ms 85.194.000.00
6 13 ms 14 ms 14 ms 87.236.154.178
7 16 ms 12 ms 13 ms 87.236.154.212
8 83 ms 271 ms 56 ms hetzner.ficix2.ficix.fi [193.110.224.44]
9 14 ms 12 ms 15 ms core32.hel1.hetzner.com [213.239.224.26]
10 13 ms 12 ms 18 ms ex9k1.dc4.hel1.hetzner.com [213.239.252.98]
11 160 ms 14 ms 12 ms static.173.120.217.95.clients.your-server.de [95.217.120.173]
运行结果netstat -s | egrep -i 'loss|retran'
79234 segments retransmitted
TCPLostRetransmit: 7145
59 timeouts in loss state
58300 fast retransmits
6808 retransmits in slow start
TCPLossProbes: 8710
TCPLossProbeRecovery: 411
TCPSynRetrans: 2691