gatewayworker并发配置

dou号

我用gatewayworker时为了适应高并发将gateway进程调成了cpu核的4_3倍,将bussiness进程调为cpu核的4_1倍,我的cpu是双核,现在可支持并发量上去了,但是刚刚看文档才发现上面说的是gateway调成cpu核数相等,business调成cpu核数的三倍,瞬间懵了,请问大神这是什么情况,还有就是这个cpu核数是看我服务器的cpu核数吧,那我是要将gateway进程调成2吗?我这边是阻塞式IO业务,含有数据库连接和客户端IO

5006 1 0
1个回答

walkor

gateway进程是完全异步非阻塞的,不需要开很多,cpu核数即可,businessWorker是处理业务的进程,业务里如果有很多阻塞的操作可以适当开多一些进程,如果阻塞少就开少一些,没有强制规定开多少。

但是不管怎样,高并发一定要安装event扩展,并且按照workerman手册优化linux内核。切记。

  • dou号 2018-07-17

    我已经安装了event扩展并优化了内核,但是还是会出现并发问题,于是我就把gateway进程加大了,暂时解决了问题,请问这是为什么?还有一个问题,请问硬件设备是如何连接服务端的?是gateway这边通过设置成类似于$gateway = new Gateway("tcp://0.0.0.0:6666");然后硬件那边自己设置,服务端的onmassage()就可以收到信息了吗?

  • walkor 2018-07-17

    不清楚你说的并发问题是什么问题,出现问题后php start.php status 截图下,截图截全。
    硬件通过socket连接new Gateway时初始化的端口,服务端Events.php里onMessage里收发消息

  • dou号 2018-07-17

    出现了设备大批量掉线的情况,现在没有了,所以无法截图。 不过还是谢谢你的回答

年代过于久远,无法发表回答
🔝