使用PHP检查服务器负载并采取适当的措施

时间:2010-05-01 16:41:08

标签: php load detection

我正在创建一个项目,其中服务器从客户端接收操作以应用于本地服务器文档。服务器和客户端共享相同的文档,因此客户端发送的每条消息都包含一个MD5哈希值,服务器在生成自己的哈希值后对其进行比较,以确保服务器和客户端文档同步。

我的问题是,如果服务器过载,我可以在PHP中以某种方式检测到这一点,这反过来让我决定是否要执行哈希生成功能吗?

也许在定义的场景中,这不是一个完美的用例,但我对这种方法感兴趣。

1 个答案:

答案 0 :(得分:3)

假设您使用的是Linux,则可以通过读取包含由空格分隔的3个数字的文件/proc/loadavg来获取处理器负载平均值。您还可以从php uptime调用exec('uptime')命令并解析其输出,该输出还包含平均负载(以及其他内容)。

如何解释平均负载 - 我通常将1.0 * cores作为最大健康负载。因此,如果你有4个内核,那么4.0以上的任何内容都表明处理器正在做一些繁重的计算并且更好等待。