Php 生产服务器上出现奇怪的超时错误(网络错误(tcp_错误))
我有一个为我的公司运行的应用程序,它使用非常慢的脚本。其中一个页面用于运行SQL查询大约5分钟,然后在大约20分钟内运行PHP 在此延迟之后,服务器向我发送一个错误,该错误表示: 网络错误(tcp\U错误) -503错误-发生通信错误:“” 我已经尝试通过增加PHP的最大执行时间来解决这个问题,但没有成功 如果你想访问代码,我可以给你,但代码并不容易理解Php 生产服务器上出现奇怪的超时错误(网络错误(tcp_错误)),php,server,Php,Server,我有一个为我的公司运行的应用程序,它使用非常慢的脚本。其中一个页面用于运行SQL查询大约5分钟,然后在大约20分钟内运行PHP 在此延迟之后,服务器向我发送一个错误,该错误表示: 网络错误(tcp\U错误) -503错误-发生通信错误:“” 我已经尝试通过增加PHP的最大执行时间来解决这个问题,但没有成功 如果你想访问代码,我可以给你,但代码并不容易理解 您知道如何修复此错误吗?我想问题在于计算量大,或者脚本处理了大量数据库数据,因此请尝试以下方法: 尝试对数据获取进行分页,尝试将数据提取到更小
您知道如何修复此错误吗?我想问题在于计算量大,或者脚本处理了大量数据库数据,因此请尝试以下方法:
- 首先加载html,然后通过ajax加载数据
- 尝试在数据库过程中处理数据(查询mysql,等等)
- 使用异步通信创建服务,例如脚本与rabbit mq通信。处理服务上的数据并将其发送回主应用程序。对于php,您可能需要另一个支持WebSocket和node.js的应用程序
<?php
system("php someheavyprocessingscript.php &");
//Load Html do some stuff here
?>
通过系统和执行命令的结尾&
,您可以在后台运行进程。通常我更喜欢服务方法,通过一些WebSocket通过RabbitMq通信将结果获取到前端
也考虑GoogLe/DukDoCo下面的关键词:<代码> XDebug Primule<代码>,<代码>面向服务的体系结构<代码>,它将给出一些关于如何解决它的要点+一些额外的知识。我的公司就是这样做的,这是一个没有任何稳健性的战略。你应该尝试在后台无头地计算这些东西,并且只使用一个监控解决方案来跟踪进度和成功。好的,谢谢,我将研究这些选项。基本上,代码是关于巨大数据集和许多参数的总和和平均值。有了这些信息,你知道从选项1到选项5理论上最好的做法是什么吗?没有什么是最好的选择,就是根据知识和资源来寻找最适合你的。通常你需要做的是:-将计算分成更小的块-在别处执行-尽可能少地执行它或以上所有/部分。请点击我答案中的向上箭头:p