2015-01-08 4 views
1

이상한 상황이 있습니다. 처음 10.1.10.29에 내장 웹 서버 (uclinux/보아)를 쳤을 때, 상황이 시작되기 전에 브라우저 창에서 10 초 지연됩니다. "처음"은 내가 며칠 만에 기계를 쳤다는 것을 의미합니다. 브라우저 유형/OS는 중요하지 않습니다. (소스는 10.1.10.20입니다.)왜이 http 대화에 10 초 지연이 있습니까?

나는 그것의 wireshark 캡처를 얻었습니다. 이러한 (2) 사이의 패킷이 시스템에서 아니다 가 frame detail 296

참고 패킷 374 (296) 후 약 10 초 동안 튀어 않는다 :

a bunch of frames

그리고 여기에서는 프레임 (296)의 구체적이고 문제의. 10 초 동안 거기 앉아서 재전송을 결정합니다. 어떻게 일하니?

+0

관련이 있는지는 잘 모르겠지만 패킷 '374'에서 창 크기가 '9056'으로 줄어 듭니다. 나는 TCP Window Scaling이 사용 중임을 발견했다. [Wikipedia] (http://en.wikipedia.org/wiki/TCP_window_scale_option)에 따르면 사용자의 인터넷 연결이 간헐적으로 오작동 할 수 있으며, 아무런 이유없이 다시 작동하는 것처럼 보일 수 있습니다. – Yoel

답변

0

주된 이유는 코드가 메모리에서 스왑 되었기 때문입니다.

MS-Windows는 그 점에서 정말 나쁩니다. 일부 프로그램이 "너무 오래"사용되지 않으면 메모리에서 스왑됩니다. 기간. 다시 돌아올 때 하드 드라이브에서 다시 읽어야합니다.

Windows 커널 메모리를 조각 모음하는 것이 좋은 것 (주된 이유)입니다. 그것을 위해, 그것은 좋다.

그러나 서버에 메모리가 필요한 경우에만 Linux에서 비슷한 문제가 발생합니다. 즉, 프로세스가 많고 가능한 한 많은 메모리를 차지하려고한다면 최소한 사용되는 소프트웨어를 교체해야 할 것입니다. 그렇지 않으면 그 자리에 남아있을 것입니다.

카산드라 데이터베이스 시스템을 사용한다면 카산드라 이외의 다른 컴퓨터를 사용할 수 있습니다. 카산드라를 그냥 사용하면 항상 빠르게 움직입니다. 많은 메모리를 사용하는 다른 소프트웨어를 실행하면 Cassandra는 처음 액세스 할 때 속도가 느립니다. 이것은 특히 눈에.니다.

+0

그러나 wireshark의 지연은 메모리의 데이터 수집으로 인해 발생하지 않습니다. 데이터가 이미 전송되었습니다. – daveoman

+0

흠 ... 네트워크에 충돌 문제가있을 수 있습니다. 오랜 시간 전에 LAN이 제대로 응답하지 않는 문제가있었습니다. 하지만 대개 첫 번째 히트를 치고 나서는 것은 아닙니다. –

+0

그것은 여러 장치에 대한 시계와 같습니다. 내가 잠시 동안 치지 않았다면, 그 자리에서 항상 지연 될 것입니다. 나는 그것이 지연이 아니라고 생각하지만, ACK/FIN 물건들 (재전송 물건 때문에)이 뭔가 다른 것일 수도있다. – daveoman

관련 문제