linux系統(tǒng)
一、請(qǐng)問config下的 server.php
'count' => cpu_count() * 2,
這個(gè)核心數(shù)是啥意思,有啥用
二、使用了redis-queue隊(duì)列
'consumer' => [
'handler' => Webman\RedisQueue\Process\Consumer::class,
'count' => 16, // 可以設(shè)置多進(jìn)程同時(shí)消費(fèi)
'constructor' => [
// 消費(fèi)者類目錄
'consumer_dir' => app_path() . '/queue/redis'
]
],
這個(gè)進(jìn)程是開多少,一秒就同時(shí)開多少進(jìn)程同時(shí)處理嗎?那么應(yīng)該按照什么設(shè)置標(biāo)準(zhǔn)
第三、咨詢一下使用寶塔部署webman 也有一個(gè)進(jìn)程數(shù)量 應(yīng)該填寫多少呢
進(jìn)程數(shù)設(shè)置文檔 http://wtbis.cn/doc/workerman/faq/processes-count.html
cpu_count = 機(jī)器的CPU數(shù)量,如果是2核2線程的CPU,這里是4;
cpu_count() *2 = 機(jī)器的CPU數(shù)量翻倍
server.php
count:意思是開啟多少個(gè)線程,webman是同步的,如果每次請(qǐng)求耗時(shí)5s,同時(shí)有10個(gè)并發(fā),count設(shè)置為5,那么只能等前5個(gè)請(qǐng)求處理完了,才處理后面5個(gè)請(qǐng)求。而count也并不是越多越好,可以按默認(rèn)先跑,業(yè)務(wù)起來后通過status查看,經(jīng)常busy的話可以考慮增加count的數(shù)量。
redis-queue里的count,設(shè)置16即意味同時(shí)消費(fèi)16,第17個(gè)則等待前面的消費(fèi)完再進(jìn)行消費(fèi)。具體設(shè)置看業(yè)務(wù),如果隊(duì)列積壓過多的話可以開大count。
寶塔:不知道
寶塔就開1個(gè)主進(jìn)程,真實(shí)進(jìn)程數(shù)量看框架配置文件的,程序fork子進(jìn)程了寶塔是不知道的,主進(jìn)程就是寶塔開的那個(gè)