图像刮擦占用服务器资源/连接?

时间:2012-07-06 20:23:23

标签: php rss nginx getimagesize

作为我的网络应用程序的一部分,我构建了一个定期提取RSS源并擦除其内容的系统。我还查找Feed项中存在的任何图像标记,并尝试将其拉出来查询其大小,以确定要使用的“图片”。

以下是该部分代码的草图:

  1. 是否有<image>个节点?如果是这样,那就是图像。退出。
  2. 通过simplehtmldom解析description节点的内容并查找所有img标记
  3. 遍历所有img代码:
    • getimagesize();
    • 如果图像尺寸大于我之前找到的尺寸,请使用此图片。
  4. 退出。
  5. 在第3步,脚本可能需要一段时间,尤其是对于包含大量图像供我检查的Feed。我假设每次调用getimagesize()需要花费一定的时间并且很快就会加起来。我不是太担心它花了很长时间(虽然它可以减少,这将是最好的),但事实是,当这个脚本运行时,它实际上让所有其他并发用户挂起,直到脚本完成。

    我想避免这种情况,但我对服务器管理员不太熟悉 - 也许有人可以给我一些指导性指针?

    谢谢!

1 个答案:

答案 0 :(得分:1)

如果需要提升性能,请在单独的服务器上运行它。 getimagesize()可以让事情变慢。我建议在它自己的服务器上运行抓取脚本并托管当前服务器上的所有其他内容。