php项目通过不了压力测试,压力测试 – Apache ab测试和失败 – Apache或PHP配置问题?...
我寫了一個RESTful Web服務,成為使用PHP和Restler庫的移動應用程序的支柱.它運行在運行Windows Server 2008 R2,PHP 5.3.5,Apache 2.2.17和MySQL 5.5.8的開發服務器上.只是為了咯咯笑,我決定對我的開發服務器進行基準測試并遇到可能的配置問題
如果我通過Windows CLI運行ab -k -n 1000 -c 50 http://myproductionserver.com/something/restful,我通常會在300-700個請求之間停止.錯誤顯示“apr_socket_recv:遠程主機強行關閉現有連接.(730054).已完成X個請求的總數.”
我想我會檢查我的Apache錯誤日志.沒有幫助.這是我用ab調用的錯誤:
[Fri Feb 24 17:23:27 2012] [notice] Parent: child process exited with status 255 -- Restarting.
[Fri Feb 24 17:23:27 2012] [notice] Apache/2.2.17 (Win32) PHP/5.3.5 configured -- resuming normal operations
[Fri Feb 24 17:23:27 2012] [notice] Server built: Oct 18 2010 01:58:12
[Fri Feb 24 17:23:27 2012] [notice] Parent: Created child process 768
[Fri Feb 24 17:23:28 2012] [notice] Disabled use of AcceptEx() WinSock2 API
[Fri Feb 24 17:23:28 2012] [notice] Child 768: Child process is running
[Fri Feb 24 17:23:28 2012] [notice] Child 768: Acquired the start mutex.
[Fri Feb 24 17:23:28 2012] [notice] Child 768: Starting 64 worker threads.
[Fri Feb 24 17:23:28 2012] [notice] Child 768: Listening on port 80.
所以當我回到家時,我使用我的本地ip運行相同的測試 – 認為它可能是一個網絡問題.同樣的事發生了.我一直在尋找相當多的答案.我發現了一個非常類似的問題,解決方法是在httpd.conf文件中使用“Win32DisableAcceptEx”,說這個問題實際上是PHP .dll的一個錯誤.我禁用了所有這些,但基本的MySQLi.從上面的日志可以看出,沒有做任何事情.
有人有主意嗎?我是否因為1000個請求嚴重崩潰了服務器?如果您需要更多信息,請告訴我們!我知道它只是一個坐在家里的開發服務器 – 但它模仿我的生產服務器.我需要在前進之前解決這個問題.我很感激你的幫助!
總結
以上是生活随笔為你收集整理的php项目通过不了压力测试,压力测试 – Apache ab测试和失败 – Apache或PHP配置问题?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过《虚拟桌面》,你可以在Quest上用
- 下一篇: php 动态设置utf8,PHP对GB编