【问题标题】:Request is terminating without response请求终止而没有响应
【发布时间】:2010-09-18 09:24:39
【问题描述】:

在我目前正在编写的一个网站中,我面临着一种奇怪的、令人难以置信的行为:在 CPU 使用率达到 100% 的几秒钟后,服务器没有任何响应,只是关闭了连接。如果我限制此请求的工作,它会开始正常工作。

XDebug 显示瓶颈不是 SQL,而是 CPU 使用率(某些函数调用 20000 次,许多对象实例等)。另一个有趣的副作用:请求时间相当长; Firebug 给了我 600 毫秒的工作请求,以及 2.2 秒的空终止请求,而工作量只有两倍。

我很确定这不是 执行时间限制(它设置为无限期),也不是 内存限制(因为没有返回 PHP 错误)。

为了记录,我正在使用:Apache 2.2.12 mpm-prefork/Ubuntu,PHP 5.2.10
在 Windows 上观察到了类似的行为。

有什么提示可以解释这种行为吗?也许 Apache 正在杀死他认为处于无限循环中的线程?还是有一些我可以查看的日志文件?

【问题讨论】:

  • 请发布违规代码?
  • 对不起,我无法隔离它...

标签: php apache segmentation-fault


【解决方案1】:

Apache 的error.log 在说

zend_mm_heap corrupted

这导致PHP Bug page 带有解决方法。它似乎在重负载下出现,可能与 zend_extension 有关。

【讨论】:

  • 设置 USE_ZEND_ALLOC=0 是否真的为您解决了问题?
  • 是的,虽然 Apache 现在每 2 小时就会使我的内存饱和...次优。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 2016-07-28
  • 1970-01-01
  • 2015-11-16
  • 1970-01-01
  • 2019-08-01
  • 2017-08-26
相关资源
最近更新 更多