Apache-2.2

Apache、PHP 和 Symfony 的性能問題

  • March 4, 2010

更新:

==================================================== ============== 我終於找到了oprofile的原因。這是因為 Symfony 的路由記憶體。我們有很多具有不同 url 的頁面,symfony 將它們記憶體在一個文件中(序列化數據)。所以記憶體文件變大了,需要更多的 CPU 來序列化和反序列化數據。

禁用路由記憶體後一切順利

================================================================

我們有三台帶有 LVS(Apache 2.11 + PHP 5.26)的 Web 伺服器,我們使用 Symfony 1.0 進行產品開發。

但是最近我們用 Symfony 1.2.7 更新了我們的產品,我們遇到了一個嚴重的性能問題。

我們使用 Ganglia 來監控我們的伺服器。更新前,Web 伺服器的平均負載低於 1。更新後,負載急劇增加,最高負載為 80(我可以看到來自 Ganglia 的 CPU 使用率增加了很多)。

我找不到原因。是因為 Symfony 框架嗎?(但根據 Ganglia 的說法,負載不應該增長得這麼快)。

順便說一句,在我們的新產品中,大量使用了 AJAX,這意味著打開一個頁面至少有 5-7 個 PHP 請求。這是原因嗎?

誰能幫我找出所有可能的原因?或者我還應該提供什麼資訊來診斷?

先謝謝了,期待你的回复~

我終於找到了oprofile的原因。這是因為 Symfony 的路由記憶體。我們有很多具有不同 url 的頁面,symfony 將它們記憶體在一個文件中(序列化數據)。所以記憶體文件變大了,需要更多的 CPU 來序列化和反序列化數據。

禁用路由記憶體後一切順利

引用自:https://serverfault.com/questions/67232