Reactphp进程状态统计(空闲,已使用等)

13

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

我运行多个React工作进程在不同的端口上,然后使用Nginx作为负载均衡器来处理请求。 像这样

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

一切都如预期运行。

问题是如何获取ReactPHP进程状态的统计信息。当前有多少进程处于空闲状态(等待新请求),有多少进程在处理请求等等。

是否存在解决方案?

或者有没有关于如何手动处理进程统计信息的想法。

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


进程统计信息在哪里公开?特别是在React PHP中。什么URI/路径? - Kyle
获取这个统计数据的想法是了解我的服务器负载情况。大多数情况下,应该有特殊的处理程序可以向我显示这个统计数据,例如空闲工作者数量、正在处理的工作者数量等。 - Oleksandr Otchenashev
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Kyle
这就是主要问题,我找不到任何从ReactPHP导出统计数据的方法。 - Oleksandr Otchenashev
1个回答

3

上次我设置了一组工作线程,并在MySQL数据库中建立了一些表。

“workers”是其中每个线程注册的行(给它一个ID)。线程将锁定其行并维护状态列。

还有一个指令堆栈。如果工作线程看到自己的ID和文本“exit”,它就会关闭并退出。最后一件事是删除它的行。将状态设置为已退出也可以起作用。

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

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

空闲线程:

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

线程状态计数:

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

1
谢谢你分享这个想法。我称之为“手工”的方法。如果找不到内置的方法,我就会使用类似这样的方法。 - Oleksandr Otchenashev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接