Home >Backend Development >PHP Tutorial >How to enable slow log configuration in php-fpm?
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!