일부 클라이언트에서 Linux 서버의 핑이 높습니다.

일부 클라이언트에서 Linux 서버의 핑이 높습니다.

내 서버에 연결된 일부 클라이언트는 계속해서 핑이 매우 높다고 말하고 서버와의 연결이 계속 끊어집니다(예, 마인크래프트 서버이지만 파일 서버, 봇 및 기타 항목도 호스팅합니다). 일부 클라이언트는 핑 속도가 매우 빠릅니다. 저는 연결 상태가 좋지 않은 사람들과 이야기를 나눴는데, 그들은 자신에게서 더 멀리 떨어져 있고 우리 서버보다 더 높은 핑을 가져야 하는 다른 서버와 좋은 연결을 갖고 있는 것 같습니다.

이 문제를 해결하는 방법을 거의 모르기 때문에 어떻게 시작해야 하며, 일부 클라이언트에서 높은 핑 및 연결 끊김이 발생할 수 있는 원인은 무엇입니까?

지금까지 나는 다음과 같은 정보를 가지고 있습니다.

  • 서버에 여유 메모리가 있습니다(많음).
  • 서버가 전체 처리 능력을 사용하고 있지 않습니다.
  • 실생활에서 비슷한 위치에 동시에 접속하더라도 일부 클라이언트는 성능이 매우 높으며 일부 클라이언트는 성능이 매우 낮습니다.
  • 서버가 다시 시작되었습니다
  • 스왑 메모리가 감소되었습니다.
  • 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

높은 핑 없이 내 컴퓨터에서 명령을 실행하면 다음과 같은 결과가 나타납니다.

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]

이제 핑 값이 매우 높은 다른 소유자의 컴퓨터에서 명령을 실행합니다.

  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

관련 정보