2 回答

TA貢獻(xiàn)2003條經(jīng)驗 獲得超2個贊
mod_php是和apache同步執(zhí)行的, 如果fastcgi的話, 服務(wù)器(一般nginx)和php之間是異步關(guān)系, 在某些情況下可以無需那么多php進(jìn)程
打個比方, 如果一個用戶用龜速上傳一個文件, 那么apache和apache里面的那個php就在等待這個用戶上傳完成, 所以系統(tǒng)里面就需要更多的apache進(jìn)程來應(yīng)對并發(fā)
如果異步執(zhí)行, 那么nginx在處理用戶的上傳, 一旦用戶上傳文件完成, 傳給php處理只是一瞬間的事情.
當(dāng)然有時候fastcgi也不一定能解決問題, 比如php在等待一個sql查詢, 這個查詢花了5秒, 那么5秒之內(nèi)有新用戶來訪, 這個php就不能出門歡迎, 所以必須新開一個php進(jìn)程
所以查一查你的php執(zhí)行要花多久, 再看一看自己的訪問量, 綜合的去找原因并想辦法解決吧

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊
每個php進(jìn)程都是很費內(nèi)存的,建議根據(jù)服務(wù)器配置做適當(dāng)調(diào)整,修改fastcgi配置文件或php-fpm配置文件,一般100個內(nèi)對于大部分場景就夠用了,再多就要考慮做任務(wù)調(diào)度或者消息隊列處理了
添加回答
舉報