요청이 Apache 액세스 로그에 표시되는 데 시간이 오래 걸리는 이유를 확인하는 방법은 무엇입니까?

요청이 Apache 액세스 로그에 표시되는 데 시간이 오래 걸리는 이유를 확인하는 방법은 무엇입니까?

동일한 컴퓨터에 Apache httpd 서버를 호출하고 설치하는 클라이언트 소프트웨어가 있습니다. Apache를 호출하기 전에 로그 항목을 기록합니다.

2011-11-23 13:27:43,777 | 8323|1381677376 | root | DEBUG | Calling http://mydomain.com/api/project/325/postings/add_and_remove_labels

보시다시피 현지 시간으로 13:27:43에 통화가 이루어졌습니다. mydomain.com 도메인은 동일한 시스템의 외부 IP를 확인합니다.

그러나 access.log 파일을 보면 타임스탬프[1]가 5초 이후인 로그 항목이 있습니다.

[23/Nov/2011:13:27:48 +0100] "GET /api/project/325/postings/add_and_remove_labels

이것은 데몬 모드에서 실행되는 mod_wsgi 기본 서버이지만 관련이 있는지 확실하지 않습니다(아파치 수준에서 요청하는 경우 타임스탬프가 시작이어야 합니다).

이 5초의 출처를 알아내기 위해 어떻게 하면 가장 잘 진행할 수 있습니까?

건배, 보아스

설명: [1] - 타임스탬프는 요청이 발생한 시점입니다.시작했다. 요청이 끝나면 항목이 로그에 기록되지만 시간은 요청이 시작되는 시간입니다.

답변1

접속 로그가 그 사람에게 기록되기 때문이다.요청의 시작이 아닌 따라서 12시에 요청하고 완료하는 데 1분이 소요되면 12시 1분이 되어야 항목이 기록됩니다. 전송된 바이트 수와 같은 항목이 포함될 수 있다는 사실이 이에 대한 확실한 지표입니다.

한 호스트에서 다른 호스트로 경로 추적을 수행하여 실제로 요청을 받고 있는지 확인할 수도 있습니다. 라우팅 중에 지연이 나타나면 문제의 원인이 있는 것입니다.

답변2

확인해야 할 두 가지 사항:
- 서버에서 mydomain.com 이름을 확인하는 시간(주석에서 TokenMacGuy에 대한 크레딧)
- 요청 완료 시 로그가 기록될 때 스크립트 실행 시간

관련 정보