[英]Php high memory usage
我們有一個舊的Facebook應用程序,運行順利用本機php編寫。
本月我們決定在zend-framework 2中重寫它。昨天,在切換到新應用程序后,它崩潰了我們的服務器,出現了大量的內存不足錯誤。 所以我們回到舊應用程序。
我安裝了xdebug來分析應用程序。 使用memory_get_peak_usage()函數我發現內存使用率很高。
在舊版應用程序中,靜態頁面僅使用1 MB內存。 但新的大約在同一頁面上使用7-8 mb。
這是webgrind的前兩行:
Function Invocation Count Total Self Cost Total Inclusive Cost
Composer\Autoload\ClassLoader->loadClass 224 23.31 47.20
Composer\Autoload\ClassLoader->findFile 224 9.57 10.23
還嘗試了apache的ab工具
ab -n 50 -c 5 -C PHPSESSID=SESSIONID http://myhost.com
結果是:
Percentage of the requests served within a certain time (ms)
50% 368
66% 506
75% 601
80% 666
90% 1073
95% 1812
98% 2278
99% 2278
100% 2278 (longest request)
所有這些都來自生產服務器而不是localhost。
單頁正常是7-8 MB嗎? 如果沒有,我該如何減少它? 我應該在zf2或作曲家中尋找它嗎?
如果需要,我可以提供代碼示例。 謝謝。
將解決方案從本機遷移到Zend時,您必須了解Zend的工作方式。
Zend由許多類組成,當您使用Objects而不是native / light結構時,使用的內存會增加。
要改善內存使用,請查看代碼並執行以下操作:
跳這有幫助。
我花了一天時間來弄清問題。 試過xdebug,xhprof。 代碼中沒有問題。
我們切換回2.0.0並解決了問題。 我不知道新版本有什么問題,現在堅持使用2.0.0。
整體內存使用量約為4mb,沒有崩潰。
composer.json:
"zendframework/zendframework": "2.0.0",
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.