我正在运行的压力测试与我在同时运行在Windows服务器2008 r2 64位上的Apache 2.2建立了许多连接。在~500( - / + 10)连接后,我在error.log Apache中得到了这个错误:
无法初始化zend_mm存储[win32]
我已尝试增加memory_limit
中的php.init
,但没有帮助。为什么在增加memory_limit后它仍然在相同数量的连接上失败?
答案 0 :(得分:1)
此错误表示您已耗尽内存池。压力测试可以做到这一点。即使您提高了PHP限制,您也只需要在服务器上分配这么多内存。你说你的服务器是32位,这意味着你有最多4GB的RAM加上你的交换文件。 500个连接很容易淹没一个小的服务器。
答案 1 :(得分:0)
所以最后发现,如果ThreadsPerChild
中httpd-mpm.conf
的数量为:{/ p>
<IfModule mpm_winnt_module>
ThreadsPerChild 1500
MaxRequestsPerChild 0
</IfModule>
我已将其更改为:
<IfModule mpm_winnt_module>
ThreadsPerChild 64
MaxRequestsPerChild 0
</IfModule>
它工作正常。