php - 如何检测和记录长时间的请求和连接超时请求
问题描述
即使不是那么明显,问题也很简单。
我管理一个显示连接超时问题的网站,使 Web 服务无法访问并且在发生时无法正常工作。
实际环境是一个自我管理的安全 VPS 上的 WooCommerce。
php7、php-fpm、wordpress 5.+、apache2、mysql、cPanel、centOs
有一段时间,即使所有服务都已启动并正在运行,该站点也无法访问并显示Connection Timeout 错误。
如何跟踪或记录源自连接超时错误的请求?
例如,在服务器上运行的应用程序:
- 记录执行时间超过 30 秒的每个请求
- 请求的时刻
- 请求网址。
是否有任何软件、wordpress、cPanel 扩展或服务来检测问题?
解决方案
我得到了在发生情况时检测情况的解决方案。
关键信息可以在 PHP-FPM 日志中找到(由于可能附加了 PHP-FPM 线程,因此可以通过重新启动 PHP-FPM 而不是 Apache2 来解决问题)。
即,在 cPanel 环境中,您会在路径中找到日志:
/opt/cpanel/ea-php$$/root/usr/var/log/php-fpm/error.log
在文件中,以下几行值得注意:
[Tue Jul 16 09:55:30.677693 2019] [proxy_fcgi:error] [pid 17283] (70007)The timeout specified has expired: [client 162.158.91.192:16946] AH01075: Error dispatching request to : (polling), referer: https://www.example.com/my-resource.php
[Tue Jul 16 10:00:30.738947 2019] [proxy_fcgi:error] [pid 17283] (70007)The timeout specified has expired: [client 162.158.91.192:16946] AH01075: Error dispatching request to : (polling), referer: https://www.example.com/my-resource.php
所以我已经能够检查显示的资源并复制并解决问题。
推荐阅读
- html - 如何以最有效的方式将 div 水平和垂直居中?
- html - 类似 Trello 的 CSS 网格布局:如何滚动卡片列表并显示标题和页脚
- powershell - Powershell比较值/然后检查有效性
- java - 我如何分配不同世界生成器的影响来生成地形?
- c++ - C++ 程序返回“abort() 已被调用”而没有其他错误?
- r - 函数 tukey.add.test (asbio) 与其他包
- amazon-web-services - 将跨账户角色的 IAM 用户限制为单个存储桶
- r - X 轴日期不按时间顺序
- python - 物理转置大型非方形 numpy 矩阵
- java - 从整数列表中获取下一个更高或更低整数的更好方法