用PHP并行处理/下载一组网页的最快方法


Fastest way to parallel process/download a set of webpages in PHP

我有一组Justin.tv/livestream URL,我从中获取流状态和缩略图。在任何给定的点上,都不会有超过50个这样的URL

我尝试过什么-

1) 天真的串行下载/处理,显然很糟糕。

2) cURL multi,但似乎仍然有点慢,除非我做得非常错误——有时一个页面只需要一段时间就可以加载,并使所有内容都陷入瓶颈。

以上两种内容似乎都是有限的,原则上都是"糟糕的",因为我正在加载另一个页面以加载主要内容。由于我同时加载了这么多页面,所以很可能会随机出现一个缓慢的url,从而造成瓶颈。

我考虑过让一个PHP脚本在后台运行,它会用流状态和缩略图不断更新数据库表,然后在加载页面时,我只需查询数据库,这应该会快得多。这是最有效的解决方案吗?还是有更好的解决方案?

我最担心的是这样一个持续运行的脚本可能会被偷听到,因为我确实希望更新尽可能"实时"。我认为负载没有什么可担心的,因为每个页面本身并没有那么大,所以我认为HTTP握手时间主导了传输时间。

对此有什么建议吗?

justin.tv有一个API:http://www.justin.tv/p/api你可能想研究一下,而不是试图截屏