php

php-fpm 슬로우로그 찍는법

닥치고개돌 2021. 1. 5. 18:46
728x90

php-fpm 기반의 웹 서비스에서 응답속도가 저하되는 현상이 발생 하는 경우

  1. DBMS의 SQL 응답속도 저하 (Slow Query)
  2. 네트워크 지연
  3. 서버 리소스 점유율 (CPU, RAM 등)
  4. Disk 입출력 문제

등이 있다.

서버 리소스나 네트워크에 별 다른 문제가 없고, Slow Query 로그에도 별다른 이상징후가 없다면, 로직 상의 문제일 가능성이 크다.

개발환경이라면 debug를 활용 수 있겠지만, 실 서비스 중인 서버에는 적용할 수 없는 방법이다.

이 때는 php-fpm의 slowlog를 찍어서 확인하는 방법이 있다.

php-fpm.conf 파일을 열어보면 아래와 같은 설정을 확인할 수 있다.

보통 etc/php/ fpm폴더에 있음.

request_slowlog_timeout = 30s
slowlog = /var/log/php-fpm/slow.log

 

여기서 request_slowlog_timeout을 3~5s 정도로 낮추고, php-fpm 서비스를 재시작한다.

그 후 tail 명령으로 /var/log/php-fpm/slow.log 를 확인 후 응답속도가 느린 페이지에 접속을 계속 시도해보면 다음과 같은 로그가 찍힌다.

 

 

728x90

'php' 카테고리의 다른 글

php break, return, exit 구분  (0) 2020.09.03
php array_multisort  (0) 2020.08.31