request_slowlog_file

最后更新于:2022-04-02 06:23:24

# request\_slowlog\_file 开启请求慢日志。启用后`Manager`进程会设置一个时钟信号,定时侦测所有`Task`和`Worker`进程,一旦进程阻塞导致请求超过规定的时间,将自动打印进程的`PHP`函数调用栈。 底层基于`ptrace`系统调用实现,某些系统可能关闭了`ptrace`,无法跟踪慢请求。请确认`kernel.yama.ptrace_scope`内核参数是否`0`。 ~~~ array( 'request_slowlog_file' => '/tmp/trace.log', ) ~~~ 与`trace_event_worker`和`request_slowlog_timeout`配置项配合使用。 ## 注意事项 * 需要`1.10.0`或更高版本 * 仅在同步阻塞的程序中有效,请勿使用与协程和异步回调的服务器中 * 必须是具有可写权限的文件,否则创建文件失败底层会抛出致命错误 * 默认仅监听`Task`进程,通过增加`trace_event_worker => true`来开启对`Worker`进程的跟踪 ## 超时时间 通过`request_slowlog_timeout`来设置请求超时时间,单位为秒。 ~~~ array( 'request_slowlog_timeout' => 2, //2秒 'request_slowlog_file' => '/tmp/trace.log', 'trace_event_worker' => true, //跟踪 Task 和 Worker 进程 ) ~~~
';