php - PHP-FPM 慢日志返回无效结果
问题描述
问题
我在 CentOS 8 上的 Apache 2.4 下运行 PHP-FPM 7.2.11,但我无法让 PHP 的慢日志正常工作。它不会返回有关长时间运行脚本的有效信息。
当我启用慢日志时——即使是 10 秒或更长时间的高值request_slowlog_timeout
——我看到日志中出现了许多条目,包括我知道不会长时间运行的脚本。该列表随机出现,显示其中的各种脚本和函数的回溯。没有明显的规律。我确定返回的信息无效。这些脚本在请求和将结果返回给 Apache 之间根本不需要那么长时间。
应该发生什么
根据 PHP 文档,slowlog 应该只标记那些自请求脚本以来运行超过一定时间的脚本。换句话说,它应该测量请求和脚本完成运行之间的时间。但是,当我启用慢日志时,情况并非如此。
似乎发生了什么
我的理论是,slowlog 不是测量来自 Apache的单个请求的运行时间,而是测量子进程运行的时间。由于子进程可以运行相当长的时间,它们可能看起来是慢日志的长时间运行脚本。当慢日志看到一个子进程已经运行超过request_slowlog_timeout
时,它会输出当前正在运行的脚本的回溯(可能是当时正在运行的任何东西)。
我的问题
- 为什么 PHP-FPM 会在慢日志中显示这样的无效条目?它无法检测到请求的开始吗?
- 如何配置慢日志以仅记录预期内容:单个请求的运行时间?
非常感谢您的任何见解或帮助。
解决方案
推荐阅读
- regex - 可以使用 Angular 8 在 ngx-translate i18n json 文件中使用正则表达式吗?
- python-3.x - 如何在一行上打印多行
- c# - 将 JSON 转换为涉及大量嵌套 JSON 对象的 C#
- python - Python:更新类函数内嵌套字典的值
- string - 如何在 Clojure 中替换字符串中的特定字符?
- google-cloud-platform - 云功能无法移动存档桶中的文件
- javascript - Javascript:函数返回 0 而不是出现奇数次的数字
- php - 在 Dokan 供应商商店页面中使用 Woof 显示产品过滤器
- python - 使用numpy内存映射python提取文件
- curl - 我应该如何为 ftp 下载设置 curl 超时?