apache2 服务器和客户端之间的连接在 6 分钟后中断
Connection between apache2 server and client breaks after 6 minutes
我在用户浏览器和 apache2 服务器之间的连接方面遇到了大问题。我们要处理大量数据,所以请求需要更多时间,客户端必须等待响应超过几分钟。它运行良好了一个月.. 然后它开始断开连接(或类似的东西)。
每次连接在 6 分钟后关闭。 Chrome 浏览器抛出 ERR_EMPTY_RESPONSE
。 DHC 显示 No response
和 No 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
相关的对象,只需完全清除并将其附加回去即可。运行速度非常快。
我在用户浏览器和 apache2 服务器之间的连接方面遇到了大问题。我们要处理大量数据,所以请求需要更多时间,客户端必须等待响应超过几分钟。它运行良好了一个月.. 然后它开始断开连接(或类似的东西)。
每次连接在 6 分钟后关闭。 Chrome 浏览器抛出 ERR_EMPTY_RESPONSE
。 DHC 显示 No response
和 No 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
相关的对象,只需完全清除并将其附加回去即可。运行速度非常快。