Home  >  Article  >  Backend Development  >  How to enable slow log configuration in php-fpm?

How to enable slow log configuration in php-fpm?

不言
不言Original
2018-08-02 15:37:091857browse

This article introduces to you how to enable the slow log configuration in php-fpm? It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Although nginx accesslog can record the time spent by users accessing a certain interface or web page, it cannot clearly track which location or function is slow, so through php-fpm slow log, slowlog settings can allow We can easily see which php processes are too slow and cause website problems

There is a parameter request_slowlog_timeout in the configuration file of php-fpm.conf which is described like this

; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0; request_slowlog_timeout = 0

When request_slowlog_timeout is set to a specific second, request_slowlog_timeout =1 means that if any script execution time is greater than 1 second, the script will be recorded in the slow log file

request_slowlog_timeout =0 means closed Slow log output.

The slow log file location is in the log folder under the PHP installation directory by default, and can be specified by modifying the slowlog = log/$pool.log.slow parameter.

; The log file for slow requests
; Default Value: not set
; Note: slowlog is mandatory if request_slowlog_timeout is set
; slowlog = log/$pool.log.slow

Example of php-fpm slow log, the slow log will record the process number, script name, specific file and line of code, which function execution time has expired long.

[27-May-2016 13:20:37] NOTICE: child 16683 stopped for tracing
[27-May-2016 13:20:37] NOTICE: about to trace 16683[27-May-2016 13:20:37] NOTICE: finished trace of 16683[27-May-2016 13:20:37] WARNING: [pool www] child 16720, script '/Data/webapps/test/public/index.php' (request: "POST /index.php/test/test/") executing too slow (1.204894 sec), logging

request_slowlog_timeout and slowlog need to be set at the same time. When request_slowlog_timeout is turned on, slowlog needs to be turned on at the same time. The slow log path needs to be created manually.

Specifically enable php- fpm slow log steps:

cd /apps/phpvi /apps/php/etc/php-fpm.conf
去掉request_slowlog_timeout 、slowlog的前缀分号';',设置request_slowlog_timeout =1;
:wq
保存退出
创建慢日志目录mkdir -p /apps/php/etc/log
重启php-fpmkillall php-fpm/apps/php/sbin/php-fpm

Recommended related articles:

Code implementation of constructor and destructor methods in php

Summary of commonly used functions and global variables in PHP (recommended)

The above is the detailed content of How to enable slow log configuration in php-fpm?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn