我应该使用多少个线程来处理网页抓取应用中的1,00,000个元素?

时间:2017-10-28 05:52:58

标签: java multithreading

我的网络抓取应用中有1,00,00个元素可供使用。我很困惑选择与Executor Service(Java 6)一起使用的线程数。

实际上,如果我使用更多的线程,我会因为选择线程数而感到困惑,我会失去记忆错误。此外,随着许多线程进入服务器,互联网停止运行,我每次都必须重启我的电脑。

有人可以帮我选择这种情况的线程数吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

很难说,因为吞吐量方面的限制因素可能是系统的网络带宽和延迟。如果您尝试超出此限制,则可能会因各种次要影响而降低吞吐量:例如:拥塞,颠簸,扼杀(由服务器)等。

正确的方法是使池中的线程数成为配置参数......并对其进行调整。从小处开始,当增加线程数不会显着提高吞吐量时,请停止增加它。