Reactphp进程状态统计(空闲,工作等)

时间:2015-05-05 07:47:19

标签: php nginx reactphp

我开始使用http://reactphp.org/来处理HTTP请求。

我运行多个在不同端口上运行的反应工作者,然后使用Nginx作为负载平衡来处理请求。 喜欢这个

upstream backend  {
    server 127.0.0.1:13300;
    server 127.0.0.1:13301;
    .....
}

一切运作良好。

问题是如何获得reactphp过程状态的统计数据。当前有多少进程处于空闲状态(等待新请求),有多少进程在请求下工作,等等。

是否有现成的解决方法?

或者想法如何手动处理流程统计。

示例 - 锁定写入某些缓存进程状态。何时是启动请求进程 - 增加处理进程数,完成请求时 - 增加空闲进程数。

1 个答案:

答案 0 :(得分:3)

上次我有一组工作线程时,我在MySQL DB中设置了一些表。

工作者是每个线程注册一行的地方(给它一个ID)。该线程将锁定它的行并保持状态列。

还有一个指令堆栈。如果工人看到它的ID和文本"退出"它会关闭并退出。最后一件事就是删除它的行。将状态设置为退出也会有效。

我还制作了一个状态报告和管理页面,我可以在其中发出命令并为我的工作线程设置任务。

然后,这将允许您查看每个线程正在执行的操作并获取空闲线程的计数。

空闲线程:

SELECT count(id) AS threads WHERE status='idle';

线程状态计数:

SELECT status, count(id) AS threads GROUP BY status;