您的位置:首页 > 理论基础 > 计算机网络

HttpWebRequest 高效并发问题

2015-07-08 12:36 351 查看
最近做酒店项目 需要抓取酒店的一些图片信息,好几百W的数据。每次线程几十个,感觉没有什么效率的样子。最后网上查询了下慢的原因。

做个记录。

我用的是 windows 7,但是最大 默认请求连接数 是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个。

System.Net.ServicePointManager.DefaultConnectionLimit 这个可以获取到当前默认设置的 最大连接数。

调整一下System.Net.ServicePointManager.DefaultConnectionLimit的值到500,速度一下提高好几倍。其他有很多的博主也遇到过类似的问题,借鉴他们的处理方式。

1.代码配置

System.Net.ServicePointManager.DefaultConnectionLimit = 512; // 这个值最好不要超过1024。

2.app.config

<configuration>
<system.net>
<connectionManagement>
<!--指定地址-->
<add address = "http://www.baidu.com" maxconnection = "512" />

<!--任意地址-->
<add address = "*" maxconnection = "512" /> </connectionManagement> </system.net> </configuration>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: