如何使用并发请求最大化带宽?

时间:2016-08-19 16:37:16

标签: python python-3.5 python-multithreading python-asyncio aiohttp

我想向网络服务器发送大约6e6个帖子请求。只有在没有重定向状态代码的情况下才会获取内容。 在遍历一段数据时会出现问题,从而产生重定向;带宽使用率非常低!(如可用带宽的10%。)

我首先使用multiprocessing.dummy模块,然后切换到使用asyncio,但即使这样,请求也不会使用整个带宽。

注意

即使this确实是问题,我也不理解Go,所以,我在这里要求提供Python解决方案。 This不是我想问的问题,我通过一次处理一部分数据来解决这个问题。

1 个答案:

答案 0 :(得分:1)

哦,甚至可能与编程无关。 6e6真的很多,所以即使因为网卡不好也可能会受到限制。 解决方案是尝试使用压力测试实用程序来确定您的硬件是否可以每秒发送该数量的请求。 例如,使用ab -kc 6000000 -n 1000 http://your-site.com ApacheBench实用程序,如: $array = array('myshop' => '','mycar' => '','mybag' => 'blue','myshirt' => '' ); foreach ($array as $key => $value) { if(isset($value)){ $style = true; }else{ $style = false; } }