我有一个运行线程的脚本,即它使用一个大约50,000个条目的数据库,并分别处理400个批次...因此脚本运行良好的第一个..但逐渐消失..估计脚本应该跑了大约6个小时,但一小时左右就消失了。
代码没有这样的问题,因为它第一次工作正常,我取消设置所有不需要的变量和其他东西以提高性能,但仍然在一小时左右后它就消失了。
我使用4个并行连接到mysql db来实现这个目标,组成有限的4个连接到db。
为什么脚本在一段时间后会加速潮湿。??
-------------------------完成!! 耗尽内存并创建了一些std类obj,现在使用curl_multi_exec ..就像一个魅力.. !! :)
答案 0 :(得分:1)
可能内存不足?在没有看到脚本的情况下很难说,根据您的查询可能会将一些工作卸载到数据库上可能会加快某些速度 - 显然需要更多信息。
答案 1 :(得分:0)
它只能是一个泄密。
您的步骤应该是:
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
现在,只要你重新使用相同的连接,并且你的“进程”步骤没有创建任何东西而不会在之后取消链接,它应该能够永远继续下去。