13

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

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

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

一切都按预期工作。

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

是否有现有的解决方法?

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

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

4

1 回答 1

3

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

workers 是每个线程注册一行的地方(给它一个 ID)。该线程将锁定它的行并维护状态列。

还有一个指令堆栈。如果工作人员看到它的 ID 和“退出”文本,它将关闭并退出。最后一件事是删除它的行。将状态设置为退出也可以。

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

然后,这将允许您查看每个线程在做什么并获得空闲线程的计数。

空闲线程:

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

线程状态计数:

SELECT status, count(id) AS threads GROUP BY status;
于 2015-05-14T12:03:39.543 回答