HttpWebRequest 高效并发问题
2015-07-08 12:36
351 查看
最近做酒店项目 需要抓取酒店的一些图片信息,好几百W的数据。每次线程几十个,感觉没有什么效率的样子。最后网上查询了下慢的原因。
做个记录。
我用的是 windows 7,但是最大 默认请求连接数 是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个。
System.Net.ServicePointManager.DefaultConnectionLimit 这个可以获取到当前默认设置的 最大连接数。
调整一下System.Net.ServicePointManager.DefaultConnectionLimit的值到500,速度一下提高好几倍。其他有很多的博主也遇到过类似的问题,借鉴他们的处理方式。
做个记录。
我用的是 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>
相关文章推荐
- AsyncHttpClient, RequestParams ,AsyncHttpResponseHandler三个类使用方法
- WoW服务器模拟器Ascent网络模块分析
- TCP、UDP 相关资料
- Http请求访问方式 GET PUT POST DELETE
- java发送http的get、post请求
- asp.net利用自定义Http处理程序实现URL伪静态之初探
- HLS(http live streaming) m3u8自制
- android Http请求方式
- Servlet发送Http请求
- 网络连接底层工具类,执行get和post请求(用于在一个项目中去对另外项目发出请求)
- Linux常用网络工具:Http压力测试之ab
- Linux网络驱动程序
- 基于事件的开源网络库—libevent:应用实例
- 基于事件的开源网络库—libevent:应用介绍
- HttpUrlConnection的setDoOutput与setDoInput的区别
- iOS 9适配系列教程:改用更安全的HTTPS
- python发送HTTP请求的方法小结
- 网络代理服务Agent,服务端.client 连接server 进行通信
- Android网络框架Volley
- Linux网络编程之原始套接字