Ruby on rails - 通过保持连接打开来加速 OpenUri



有没有办法在Ruby中加速OpenUri连接,也许通过以某种方式保持流打开?

以下是我目前正在执行的检索数据的操作:

doc = Nokogiri::HTML( open(url).read )

批处理数千个 URL 时似乎很慢。

如果您使用 OpenURI 处理数千个 URL,那么您使用的是错误的库。相反,您应该查看可以并行处理它们的东西。

我建议你考虑使用Typhoeus和Hydra。Typhoeus是获取URL的代码,Hydra处理多个连接。查看主页上的示例,了解同时运行多个并行连接是多么容易。

运行一些基准测试,以确定主机和互联网连接的饱和点。尝试运行比管道可以处理的连接更多的连接只会浪费 CPU 时间。此外,如果您尝试处理与同一主机的多个连接,请小心,因为您也会占用它们的带宽和 CPU,这是被禁止的好方法。

尝试net-http-persistent(rubygems,github)。

相关内容

  • 没有找到相关文章

最新更新