linux系统
一、请问config下的 server.php
'count' => cpu_count() * 2,
这个核心数是啥意思,有啥用
二、使用了redis-queue队列
'consumer' => [
'handler' => Webman\RedisQueue\Process\Consumer::class,
'count' => 16, // 可以设置多进程同时消费
'constructor' => [
// 消费者类目录
'consumer_dir' => app_path() . '/queue/redis'
]
],
这个进程是开多少,一秒就同时开多少进程同时处理吗?那么应该按照什么设置标准
第三、咨询一下使用宝塔部署webman 也有一个进程数量 应该填写多少呢
不要用宝塔的 进程守护管理器 重启服务和停止启动服务有问题 建议直接用命令行启动
感觉没问题啊 不用的话 一会都要手动
进程数设置文档 https://www.workerman.net/doc/workerman/faq/processes-count.html
cpu_count = 机器的CPU数量,如果是2核2线程的CPU,这里是4;
cpu_count() *2 = 机器的CPU数量翻倍
server.php
count:意思是开启多少个线程,webman是同步的,如果每次请求耗时5s,同时有10个并发,count设置为5,那么只能等前5个请求处理完了,才处理后面5个请求。而count也并不是越多越好,可以按默认先跑,业务起来后通过status查看,经常busy的话可以考虑增加count的数量。
redis-queue里的count,设置16即意味同时消费16,第17个则等待前面的消费完再进行消费。具体设置看业务,如果队列积压过多的话可以开大count。
宝塔:不知道
宝塔就开1个主进程,真实进程数量看框架配置文件的,程序fork子进程了宝塔是不知道的,主进程就是宝塔开的那个