为了账号安全,请及时绑定邮箱和手机立即绑定

swoole的task配置该如何配置

swoole的task配置该如何配置

PHP
手掌心 2019-03-08 07:03:24
现在的服务器是 2核4GBswoole构造的服务端。拥有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设置进程的最大任务数是什么意思?超过数值自动退出之后会开个新的进程继续运行吗?。 之前的连接是否都会断开。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 392 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信