4
我在問一個運行light front的web服務器(在我的例子中是nginx),通過fastcgi訪問PHP進程。我應該運行多少個php-cgi進程?
我想弄清楚一種方法來計算應該在機器上運行多少個PHP cgi進程。
想一想它的一種方法是找出進程的平均內存佔用量,並儘可能在可用RAM的限制範圍內運行。但是,這不會導致CPU使用情況。由於CPU是我的應用程序中真正的瓶頸(使用DB和memcache,但不是瓶頸),我認爲php進程的基數應該是可用CPU的數量。
例如 - 在8核心機器中,基數爲8.假設某些進程等待數據庫或網絡,我沒有看到任何理由運行超過20個PHP進程。
這種思維方式是否有意義?你如何計算運行多少個進程?
AHM,是什麼問題?由於高負荷,您是否獲得較長的響應時間?連接是否被丟棄?用戶是否在抱怨?或者這個應用程序實際上還沒有發佈? (我認爲計算這個的有條不紊的方法是看看你的應用程序的真實度量。)但是,8,8或20.聽起來對我很好! :) – 0scar 2009-12-22 12:57:39
目前沒有問題。該應用程序正在使用apache-modphp,我們正在轉向nginx + fastcgi。這個問題在計劃階段出現了。 – yhager 2009-12-25 10:38:02