>  기사  >  类库下载  >  php-fpm의 느린 실행 로그를 잘 활용하여 PHP 성능 문제를 분석하세요.

php-fpm의 느린 실행 로그를 잘 활용하여 PHP 성능 문제를 분석하세요.

高洛峰
高洛峰원래의
2016-10-14 10:51:131165검색

우리 모두 알고 있듯이 MySQL에는 느린 쿼리 로그가 있습니다. 느린 쿼리 로그에 따르면 어떤 SQL 문에 성능 문제가 있는지 알 수 있습니다. mysql의 좋은 파트너인 php에도 이런 기능이 있습니다. php-fpm을 사용하여 PHP를 관리하는 경우 다음 옵션을 통해 활성화할 수 있습니다.
PHP 5.3.3 이전 설정은 다음과 같습니다:
5s
logs/php-fpm-slowlog.log

PHP 이후 5.3.3 다음 설정을 지정합니다:
request_slowlog_timeout = 5s
slowlog = /usr/local/php/log/php-fpm-slowlog.log

설명:
request_slowlog_timeout은 얼마나 오래 됩니까? 스크립트를 초과하면 로그 파일에 기록될 수 있습니다
Slowlog는 로그 파일의 경로입니다

켜진 후 스크립트가 지정된 시간 이상 실행되면 다음과 유사한 정보가 표시됩니다 지정된 로그 파일에 기록됩니다:

[19-Dec-2013 16:54:49] [pool www] pid 18575
script_filename = /home/web/htdocs/sandbox_canglong/test/tt.php
[0x0000000003a00dc8] curl_exec() /home/web/htdocs/sandbox_canglong/test/tt.php:2
[0x0000000003a00cd0] exfilter_curl_get() /home/web/htdocs/sandbox_canglong/test/tt.php:6

로그 설명:
script_filename은 항목 파일입니다.
curl_exec(): 이 메서드를 실행할 때 실행 시간이 초과됨을 의미합니다.
exfilter_curl_get(): 컬_exec()를 호출하는 메소드가 exfilter_curl_get()임을 나타냅니다.
각 줄의 콜론 뒤의 숫자가 줄 번호입니다.

켜고 나면 오류 로그 파일에도 관련 기록이 있습니다. 다음과 같습니다.

[19-Dec-2013 15:55:37] WARNING: [pool www] child 18575, script '/home/web/htdocs/sandbox_canglong/test/tt.php' (request: "GET /test/tt.php") executing too slow (1.006222 sec), logging
[19-Dec-2013 15:55:37] NOTICE: child 18575 stopped for tracing
[19-Dec-2013 15:55:37] NOTICE: about to trace 18575
[19-Dec-2013 15:55:37] NOTICE: finished trace of 18575


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기