检测PHP中的Apache工作延迟

时间:2016-03-16 19:34:13

标签: php apache lamp

我们有一系列Apache服务器不堪重负,并且在请求服务之前将请求排队等待一段时间。

虽然我们调整了这一点,但我们意识到我们的PHP日志无法看到延迟的时间长度......是否存在由apache为每个线程发出的env变量,或者是一个可以告诉我们多长时间的PHP函数请求,不是从PHP的初始化,但当Apache第一次打开连接?

1 个答案:

答案 0 :(得分:0)

据我所知,PHP中没有任何内容可供使用。根据服务器不堪重负的方式,Apache甚至可能无法提供此信息:

如果Apache用尽了工作人员,客户端就会坐下来等待建立TCP连接。 Apache不会知道另一个客户端正在等待,因为所有工作人员当前正忙着为其他客户服务。

PHP是了解客户端请求的最后一个组件,因此只有服务器数据才能解决那里的问题,或者至少尝试查找请求的情况明显延迟。

您可以在请求中添加客户端时间戳 - 但是,客户端的时钟不需要与服务器时钟同步,如果服务器已经有延迟,则同步它们将是一个问题。添加更多请求以报告问题也会增加服务器的负载。