鍍金池/ 問答/PHP  Linux  網(wǎng)絡(luò)安全/ php cli 處理能力到底有多強?

php cli 處理能力到底有多強?

場景描述:

client(單片機) --- send MQ ---> MQ Server --- Received ---> php腳本(業(yè)務(wù) + DB)

文字說明: 就是簡單的一種MQ應(yīng)用場景

問題描述:(一說到這就想罵人)

暫且80個client(聽說后期5000的量), 4個PHP腳本處理進程才應(yīng)付得過來。
正常情況下,消息量在 2500條/分鐘左右。特殊情況下估計要翻3倍,也就是7500/分鐘。
問題也就出現(xiàn)在特殊情況下,一旦腳本處理能力跟不上之后,基本上后面很難再更上去了,因為消息只會積累的更多。

請教:

姑且先不管描述的問題,畢竟需要優(yōu)化的地方還太多。
  1. 假如不考慮接收MQ速率的影響,一條消息對應(yīng)一組CURD的操作,單個php腳本在Cli下的處理能力有多快,最好能給個大概的量化值。
  2. PHP在cli下運行,受到哪些PHP配置參數(shù)的影響
  3. 增加多個PHP腳本,肯定不可能無限增加。
  4. 重中之重:授人以魚不如授人以漁。php進程相關(guān)的知識點哪里有好的文檔
回答
編輯回答
護她命

不考慮IO的話,只要不寫一些作死的邏輯,php的在cli的處理能力基本不需要擔心不夠用,但是存在IO的情況下,瓶頸大多都是在這些IO操作和等待上,不好給你的數(shù)值。
php的配置一般改動也不會太多,cli下運行主要注意下可以使用的最大內(nèi)存。
增加多個php腳本是可行的,監(jiān)控下CPU和內(nèi)存的使用就可以了
官方文檔有簡要描述,但是看你的這個場景,你不考慮使用 swoole或者workerman這類異步、并行、高性能網(wǎng)絡(luò)通信引擎嗎?

2018年7月21日 00:08
編輯回答
蟲児飛

參考性能:laravel隊列(cli方式)+Rabbitmq,13W數(shù)據(jù),DB業(yè)務(wù)操作,78個進程(36*2臺機器),總耗時20秒

單臺硬件配置:CPU:32核;內(nèi)存:64G
2018年1月16日 22:06