MySQL 데이터베이스에서 각 SQL 쿼리는 일정량의 시간과 리소스를 소비합니다. 성능 병목 현상을 발견하고 찾으려면 실행 시간이 긴 SQL 문을 찾아야합니다. MySQL의 느린 쿼리 로깅 기능은 실행 시간이 지정된 임계 값을 초과하는 모든 SQL 문을 기록 할 수 있습니다.
느린 로그를 분석하여 데이터베이스 관리자와 개발자는 느린 쿼리 문과 실행 시간을 정확하게 찾아 데이터베이스 성능을 대상으로 최적화 할 수 있습니다.
MySQL의 구성 파일 my.cnf 를 편집하면 다음 매개 변수를 추가하여 느린 쿼리 로깅 기능을 활성화하십시오.
slow_query_log = 1 # enable slow_query_log_file = /var/log/mysql/mysql-slow.log log_queries_not_using_indexes = 1 # 인덱스를 사용하지 않은 SQL 문서 레코드 SQL 문
매개 변수 설명 :
구성 파일을 수정 한 후 다음 명령을 실행하여 MySQL을 다시 시작하여 구성을 적용하도록합니다.
서비스 mySQL 재시작
다시 시작한 후 다음 명령을 통해 Slow Query 로그를 실시간으로 볼 수 있습니다.
CD/var/log/mysql/ Tail -f Mysql -slow.log
php.ini 파일에서 다음 매개 변수를 추가하거나 수정하여 PHP 느린 로깅을 활성화하십시오.
slowlog = /var/log/php/php-slow.log request_slowlog_timeout = 10 # 단위는 초입니다.이 시간을 초과하는 요청이 기록됩니다.
매개 변수 설명 :
구성을 수정 한 후 다음 명령을 실행하여 PHP 서비스를 다시 시작하십시오.
Sudo Service PHP-FPM 재시작
서비스가 다시 시작된 후 다음 명령을 사용하여 PHP 슬로우 로그를 볼 수 있습니다.
CD/var/log/php/ Tail -F Php -Slow.log
MySQL 및 PHP의 느린 로깅 기능을 켜면 데이터베이스 및 스크립트 실행에서 성능 병목 현상을 신속하게 찾을 수 있으며 대상 최적화를 용이하게하며 전체 시스템의 응답 속도 및 안정성을 향상시킵니다.