更多主题=每秒请求数减少?

时间:2013-10-25 00:08:33

标签: java multithreading http httpurlconnection

我目前正在用java编写一个爬虫程序,而且我被某些东西困住了。

在我的抓取工具中,我有线程使用HttpURLConnection下载静态远程页面。 我试着下载一个带有不同参数的小文件(2kb)。连接的超时设置为1秒。

我注意到,如果我使用100个线程进行下载,我每秒发出3次请求(每秒约10k请求,使用),而当使用500个线程时,我成功制作“仅”4k每秒请求。

我原本希望每秒能够执行至少与100个线程一样多的请求。

你能解释一下,为什么这样做会这样,并且如果有某些参数可以激活某处以增加最大并行连接数?

谢谢:)

1 个答案:

答案 0 :(得分:1)

我认为这只是你的cpu的问题,在某个时刻,切换威胁比不等待单个连接所花费的时间更贵。

我会尝试通过设置上限来最大化parralel连接

相关问题