웹 사이트를 가져 오려고 할 때 이상한 지연 패턴이 나타났습니다. 이 동작은 매우 독창적 인 것으로 보이며 쉽게 재현 할 수 있으므로 아래의 세부 사항을 대부분 확신합니다. 누군가가 그것을 인식하거나 해결할 수 있기를 바랍니다.
제한없이 말할 수있는 한, 컴퓨터를 다시 시작한 후 시간이 지남에 따라 지연 시간이 증가하는 것 같습니다. 이것은 다른 점보다 덜 신중하게 테스트되었지만 다시 시작하면 문제가 해결되고 다시 시작한 후 처음 몇 시간 내에 거의 나타나지 않는다고 확신합니다 (그리고 그보다 훨씬 오래 관리 할 수있는 것처럼 보입니다).
지연은 Firefox, Safari 또는 Chrome에서 나타납니다.
컬은 정상적으로 작동합니다. 그러나 Chrome, Safari 또는 Firefox에서 페이지를로드하는 동안 curl이 크게 지연됩니다. 브라우저를 닫으면 실행중인 모든 컬 작업이 즉시 완료됩니다 (예를 들어, 다른 웹 사이트를 가져 오는 컬 인스턴스 5 개를 시작할 수 있습니다. 진행률 표시 줄에서 진행률이 표시되지 않음). 즉시 완료 할 작업).
컬 지연은 존재하는 경우에도 웹 사이트 지연보다 상당히 작습니다. 디버깅을 위해 잠시 동안 다시 시작하지 않았기 때문에 지금은 15 초 정도입니다. 웹 사이트는 "www.---.com을 기다리는 동안"약 15 초가 걸리고 다른 사람을 기다리는 데 상당한 시간이 소요될 것입니다.
핑으로보고 된 대기 시간은 문제가 발생하는 동안 증가하지 않습니다.
컬은 경험 지연이지만 다른 컬 작업은 동시에 완료됩니다. 즉, 그들은 모두 오랜 시간 동안 매달린 다음 모두 같은 순간에 매달리지 않습니다 (따라서 거의 같은 시간에 매달린 15 초 이상의 규모로 끝납니다). 때때로 이것은 브라우저에서 발생하지만 안정적으로 발생하지는 않습니다 (브라우저가 실제로 페이지로드를 마치기 전에 브라우저가 여러 번 중단 될 수 있다고 생각합니다). 컬 작업이 완료된 후 즉시 다시 시작하면 정확히 같은 방식으로 중단되므로 문제가 해결되지는 않습니다 (적어도 오래 지속되지는 않음).
지연은 웹 페이지마다 상당히 다릅니다. 나는 매우 자세한 설문 조사를 수행하지 않았습니다 (다음 추측 단계가 될 것입니다).
중단되면 curl -v는 데이터가 전송되지 않고 진행률 표시 줄에서 중단됩니다.
Chrome에서 페이지를로드하는 동안 대부분의 시간은 CDN 및 타사 서비스를 "대기"하는 데 소비됩니다.
Chrome에 빈 화면이 표시되는 경우가 종종 있으며 '중지'를 누르면 페이지가 렌더링됩니다 (대부분의 자산이로드되지는 않음). 나는 이것이 마지막 요점과 관련이 있다고 가정하고, 우리가 문제와 밀접하게 관련되지 않고이 긴 지연이있을 때 나타나는 크롬의 행동 일뿐입니다.
성능 특성이 다른 여러 무선 네트워크 (예 : 50mbps 회선)에 연결된 경우 지연이 나타납니다. 유선 네트워크는 시도하지 않았지만 문제가되지는 않을 것입니다.
마찬가지로 다른 DNS는 아무런 차이가 없습니다 (핑이 항상 양호하다는 점은 놀라운 일이 아닙니다).
시스템의 스트레스 수준이 매우 다른 경우에도 동일한 동작을 관찰합니다. 예를 들어, 지금은 3 / 8GB의 메모리가 없습니다.