아파치가 요청 받고 처리해서 응답한 시간을 로그에 기록하여 보았습니다.
아파치 access log에 응답 시간, 즉 처리 시간을 남기고 싶은데, 아파치 설정을 어떻게 해야 하나요? |
Apache의 access.log에 요청의 처리 시간을 기록하려면, Apache 로그 포맷을 수정하여 처리 시간 정보를 추가할 수 있습니다. LogFormat 지시어를 사용하여 access.log에 응답 시간을 기록할 수 있습니다. Apache는 %D와 %T라는 두 가지 변수로 요청 시간을 기록할 수 있습니다:
- %D: 요청 처리 시간을 마이크로초 단위로 기록합니다.
- %T: 요청 처리 시간을 초 단위로 기록합니다.
로그 포맷 설정 방법은 다음과 같습니다.
1. Apache 설정 파일을 엽니다. (예: /etc/apache2/apache2.conf 또는 /etc/httpd/conf/httpd.conf).
2. LogFormat을 정의하는 부분을 찾거나 추가합니다. 기본 combined 포맷을 수정하여 요청 시간 정보를 추가할 수 있습니다.
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" combined
또는 초 단위로 표시하고 싶다면 %T를 사용할 수 있습니다:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T" combined
위 설정은 combined 포맷에 %D 또는 %T 변수를 추가하여 요청 처리 시간을 추가한 것입니다.
3. CustomLog 지시어에 새로 정의한 LogFormat을 적용합니다.
CustomLog ${APACHE_LOG_DIR}/access.log combined
4. 설정 파일을 저장하고 Apache를 재시작하여 변경 사항을 적용합니다.
sudo systemctl restart apache2 # Ubuntu/Debian
sudo systemctl restart httpd # CentOS/RHEL
이제 Apache의 access.log에 각 요청의 처리 시간이 기록될 것입니다.
※ 참고사항 : 위 내용을 참고하여 설정을 적용해서 정상 작동하는 것을 확인했습니다.
※ 주의사항 : ChatGPT와 나눈 대화를 정리한 것이므로 이 점을 고려해서 읽으시기를 권장합니다.
https://httpd.apache.org/docs/current/ko/sitemap.html
사이트맵 - Apache HTTP Server Version 2.4
httpd.apache.org