apache2 服务器和客户端之间的连接在 6 分钟后中断

Connection between apache2 server and client breaks after 6 minutes

我在用户浏览器和 apache2 服务器之间的连接方面遇到了大问题。我们要处理大量数据,所以请求需要更多时间,客户端必须等待响应超过几分钟。它运行良好了一个月.. 然后它开始断开连接(或类似的东西)。

每次连接在 6 分钟后关闭。 Chrome 浏览器抛出 ERR_EMPTY_RESPONSE。 DHC 显示 No responseNo content。在 apache error.log 中,日志级别设置为调试,什么都没有,在 symfony 中我可以看到 运行ning tail -f dev.log,那个脚本仍然是 运行ning.. 直到最后,没有错误。

奇怪的是,当我 运行 来自 Windows 的脚本时,连接不是在 6 分钟后断开,而是在 12 分钟后断开。当我 运行 2 个不同的请求时,我有 12 分钟的时间通过浏览器 Mac.

调试了 2 天,一无所获。连一行日志都没有。

接下来我可以去哪里看?网络日志?也许有人有同样的问题?

没找到原因,答案是流式响应+JSON。如果有响应,连接不会中断。

这为调试提供了强大的工具(实时内存使用情况)并向我展示了问题出在内存上(当存储太多对象时,学说中的实体管理器非常低)。

顺便说一句,使用 Doctrine 的 $em->clear().

很酷的方式
foreach ($items as $item) {
    $item = $this->em->getReference('AppBundle:Item',$item->getId());
    .......

    $em->flush();
    $em->clear();
}

太好了,因为您不需要分离与 $item 相关的对象,只需完全清除并将其附加回去即可。运行速度非常快。