다음과 같은 문제가 있습니다. Hackage 에서 페이지를 검색 하면 큰 지연 (약 30 초)이 발생합니다. 추가 요청은 빠르지 만 몇 분 동안 연결하지 않으면 문제가 다시 발생합니다.
이 문제에서 흥미로운 점은 다음과 같습니다.
- 이 사이트는 특정 사이트에만 적용됩니다 (해커 지) — 다른 사이트와 비슷한 문제가 발생하지 않습니다 (그리고 꽤 많은 방문).
- 다른 곳에서 연결할 때 그러한 문제는 없습니다.
DNS 나 연결 문제와 관련이 없습니다. 실제로 TCP 연결은 빠르게 설정됩니다. 다음 샘플 패킷 캡처에서 볼 수 있듯이 너무 오래 걸리는 HTTP 응답입니다.
1 0.000000000 192.168.1.101 -> 66.193.37.204 TCP 66 41518 > http [SYN] Seq=0 Win=13600 Len=0 MSS=1360 SACK_PERM=1 WS=16 2 0.205708000 66.193.37.204 -> 192.168.1.101 TCP 66 http > 41518 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1440 SACK_PERM=1 WS=128 3 0.205759000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=1 Ack=1 Win=13600 Len=0 4 0.205846000 192.168.1.101 -> 66.193.37.204 HTTP 158 GET /packages/hackage.html HTTP/1.1 5 0.406461000 66.193.37.204 -> 192.168.1.101 TCP 54 http > 41518 [ACK] Seq=1 Ack=105 Win=5888 Len=0 6 28.433860000 66.193.37.204 -> 192.168.1.101 TCP 1494 [TCP segment of a reassembled PDU] 7 28.433904000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=105 Ack=1441 Win=16480 Len=0 8 28.434211000 66.193.37.204 -> 192.168.1.101 HTTP 1404 HTTP/1.1 200 OK (text/html) 9 28.434228000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=105 Ack=2791 Win=19360 Len=0 10 28.434437000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [FIN, ACK] Seq=105 Ack=2791 Win=19360 Len=0 11 28.635146000 66.193.37.204 -> 192.168.1.101 TCP 54 http > 41518 [FIN, ACK] Seq=2791 Ack=106 Win=5888 Len=0 12 28.635191000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=106 Ack=2792 Win=19360 Len=0
( pcap-ng 형식의 패킷 캡처 ). 이 캡처는 간단한 동안 어떤 일이 발생하는지 보여줍니다
curl http://hackage.haskell.org/packages/hackage.html
.
또한 라우터 뒤에 있다는 것은 중요하지 않습니다. 직접 연결할 때도 마찬가지입니다. 연결 유형은 PPPoE입니다.
Linux와 Windows를 실행하는 3 대의 컴퓨터에서 문제를 재현했습니다.
그러한 문제를 진단하는 방법?