账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    swoole的task配置该如何配置
    44
    0

    现在的服务器是 2核4GB
    swoole构造的服务端。拥有600个客户端(会持续增加)
    每分钟客户端会往服务端发送一个心跳,所以理论上是一次性会接收到600个心跳,然后扔往task进行逻辑处理。
    我一个进程的耗时大概是 200ms

    文档:

    默认设置为SWOOLE_CPU_NUM,最大不得超过SWOOLE_CPU_NUM * 1000
    比如1个请求耗时100ms,要提供1000QPS的处理能力,那必须配置100个进程或更多。但开的进程越多,占用的内存就会大大增加,而且进程间切换的开销就会越来越大。所以这里适当即可。不要配置过大。
    
    假设每个进程占用40M内存,100个进程就需要占用4G内存
    task操作的次数必须小于onTask处理速度,如果投递容量超过处理能力,task会塞满缓存区,导致worker进程发生阻塞。worker进程将无法接收新的请求
    
    

    那个我最大是可以设置 task_worker_num=>4000?。
    1.什么情况下算投递容量超过处理能力,是指第二次心跳上来之前第一次600条心跳还没处理完吗?
    2.task_max_request 和max_request设置进程的最大任务数是什么意思?超过数值自动退出之后会开个新的进程继续运行吗?。 之前的连接是否都会断开。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部