大型php脚本减慢了应用程序的其余部分..为什么?


large php script slowing down the rest of application.... why?

我有一个大型php web抓取脚本,它可以在运行过程中将结果记录到mysql数据库中。脚本通常一次运行5到10分钟。

问题是,当此脚本运行时,应用程序上的其他页面将不会加载。

该脚本位于一个有大量RAM的专用服务器上,因此我尝试增加MYSQL和PHP的允许内存使用量。还增加了允许的最大连接数。这些都无济于事。

有人知道我还能尝试什么吗?

可能是会话中的问题。在启动"大脚本"之前,请尝试使用session_write_close()。

好吧,"减速"answers"不加载"之间有很大区别!

尝试以下操作:

  1. 构建一个静态html站点,并检查它在执行大脚本期间是否加载良好
  2. 构建一个php站点,该站点在执行大脚本期间不连接到DB(只是回显一些内容)
  3. 构建一个连接到数据库的小型php站点(只需从表中选择一些内容)

如果1或2不能很好地工作,那么您的问题与web服务器或服务器资源有关。如果3不能很好地工作,那么mysql服务器可能会出现资源问题。

如果一切正常,请检查抓取脚本。它是否锁定了主应用程序所需的任何表?