C# http 性能优化500毫秒到 60 毫秒
来源:互联网 发布:网络eve什么意思 编辑:程序博客网 时间:2024/06/02 02:28
偶然发现 C# 的 HttpRequest 要比 Chrome 请求同一Url 慢好多。C# HttpRequest 要500毫秒 而Chrome 只需要 39ms。
作为有责任感的 码农。这个 必须优化。。
后来 整理 各种方法做了优化
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; request.KeepAlive = false; request.ServicePoint.Expect100Continue = false; request.ServicePoint.UseNagleAlgorithm = false; request.ServicePoint.ConnectionLimit = 65500; request.AllowWriteStreamBuffering = false; request.Proxy = null;response.Close();request.Abort();打开 KeepAlive 属性,这个可以打开一个tcp连接并在 一段时内重用tcp连接,从而加快http 请求。(默认是打开的)(我在开启keepalive 时出现 服务器关闭连接的错误,在请求完成后 加response.Close();request.Abort(); 后 错误消失)
Expect100Continue 的作用
- 发送一个请求, 包含一个Expect:100-continue, 询问Server使用愿意接受数据
- 接收到Server返回的100-continue应答以后, 才把数据POST给Server
还有 ConnectionLimit 默认是2 ,就是说 系统 只能 并发 2个http 请求,所以 这个属性可以以适当增大。
Proxy 属性在 .Net 4.0 时应该在 config 文件中增加:
<system.net> <defaultProxy enabled="false" useDefaultCredentials="false" > <proxy/> <bypasslist/> <module/> </defaultProxy> </system.net></configuration>
其他版本.NET 可以设置为null。原因:NET4.0或3.5中的默认代理是开启的,而我并没有设置!故只有等待超时后才会绕过代理,这就阻塞了.其他的可以自己百度。到这了 http 的响应速度由原来 的500ms 减小的60ms,但还是 比不上Chrome。希望在以后有更好的办法加快。晚了洗洗睡了。
0 0
- C# http 性能优化500毫秒到 60 毫秒
- c# 毫秒
- 毫秒
- C#日期格式精确到毫秒
- C#实现毫秒到格式化时间串
- 时间 精确 到毫秒
- oracle精确到毫秒
- C#记录执行毫秒!
- c#毫秒级计时
- oracle 毫秒数到日期 日期到毫秒数 转换
- 用formatdatetime精确到毫秒
- java时间精确到毫秒
- java时间精确到毫秒
- 提取系统时间到毫秒
- 获取时间精确到毫秒
- 时间格式化精确到毫秒
- js 倒计时精确到毫秒
- java格式化时间到毫秒
- VS2013+CUDA+TBB
- ViewPager+Fragment动态增加页面,删除页面
- ZOJ_3949 Edge to the Root
- 一种常见的网页防篡改方案
- java中在创建对象时候的初始化顺序
- C# http 性能优化500毫秒到 60 毫秒
- 女生赛hdu6027
- app:transformClasses_enhancedWithInstantReloadDexForDebug
- matlab常用命令汇总
- Fiddler 模拟浏览器提交数据
- 省赛总结
- 20170508Ubuntu 12.xx 修改mysql的最大连接数
- 也许下一个倾家荡产的就是你
- 详解Spring中的Profile