请教关于进程数问题。~

oop86868j8j

问题描述

请教下 单机场景, Gateway的进程数设置多了有什么作用吗?只设置1个会有问题嘛 ?

BusinsessWorker的进程数只设置1个会有什么问题吗?比如设置4个进程数 workerman会自动选一个进程处理业务吗?

1170 1 0
1个回答

admin

没问题,但是同一时间 一个进程只能处理一个 客户端发过来的数据,

进程=软件

多进程,就是你多开了几个qq软件。

因为 php好像没成熟的线程,所以只能用多进程曲线救国,原本的软件是 开一个软件(进程),然后很多子线程处理任务。

不要担心 一个进程只能有一个长连接,因为 连接是保存在内存中的,以及event 网络事件库触发的,不过 你要是在代码里写了阻塞的东东,那么在本次数据处理完成之前,其他的client请求都是在等待的。

怎么解决 所有进程都繁忙,client阻塞的问题呢,这里建议了解下yield用生成器配合 处理阻塞的IO

  • oop86868j8j 2022-12-23

    那一般设置多少个Gateway BusinsessWorker的进程数合适呀

  • Le 2022-12-25

    看服务器几核心的,一般跟服务器核心相同即可,还有业务代码有没有阻塞的逻辑,如果有阻塞可以多开几个

  • SillyDog 2022-12-26

    补充以下层主的回答 yield 相关的可以看看amphp 硬写yield要考虑很多 直接用现成框架吧

  • oop86868j8j 2022-12-26

    比如Gateway BusinsessWorker的进程数设置cpu核数,那是不是workerman会自动选择一个进程处理业务呢?

  • oop86868j8j 2022-12-26

    他什么时机会自动选择一个进程呢?

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