php脚本速度阻尼

php脚本速度阻尼,php,Php,我有一个运行线程的脚本,也就是说,它使用了大约50000个条目的数据库,并以400个条目为一批处理它们。。因此,脚本首先运行良好。。但是逐渐消失了。。据估计,脚本应该运行6个小时左右,但大约一个小时后就会消失 代码没有这样的问题,因为它第一次工作得很好,我取消了所有不需要的变量和其他东西以提高性能,但大约一个小时后它就消失了 我使用4个到mysql数据库的并行连接来实现这个目标,只需要4个到数据库的连接 为什么脚本速度会在一段时间后变慢 -------------------------完成!!

我有一个运行线程的脚本,也就是说,它使用了大约50000个条目的数据库,并以400个条目为一批处理它们。。因此,脚本首先运行良好。。但是逐渐消失了。。据估计,脚本应该运行6个小时左右,但大约一个小时后就会消失

代码没有这样的问题,因为它第一次工作得很好,我取消了所有不需要的变量和其他东西以提高性能,但大约一个小时后它就消失了

我使用4个到mysql数据库的并行连接来实现这个目标,只需要4个到数据库的连接

为什么脚本速度会在一段时间后变慢

-------------------------完成!!
内存耗尽,正在创建一些std类obj,现在使用curl\u multi\u exec。。工作起来很有魅力!!:)

它可能内存不足?如果看不到脚本,很难判断,也许根据您的查询将一些工作转移到数据库上可能会加快一些速度-显然需要更多信息。

这可能只是一个漏洞

你的步骤应该是:

Create 4 handlers and give each a connection to the DB
While you haven't processed the whole DB
For every handler, execute:
    Process 400 records

现在,只要您使用的是相同的连接,并且您的“处理”步骤在未断开链接的情况下不会创建任何内容,它应该能够永远继续下去。

创建4个处理程序,并为每个处理程序提供一个到DB的连接,而您尚未为每个处理程序处理整个DB,执行:处理400条记录-完成这就是我现在正在做的。。我使用mysql数据库的持久连接,并确保持久超时超过50秒,这已经足够了。我有四个并行连接。对数据库进行分析后,我发现在某个时间点,四个线程中只有一个正在处理,然后是另一个。我多次使用curl。。实际上是50000次。。这会成为一个问题吗?我将内存限制提高到256mb。使php超时为0。它只是越来越慢。。从泵n开始,然后开始减速。脚本大约有8000行长。。所以我不能把它贴在这里。。