C# http 性能优化500毫秒到 60 毫秒
偶然发现 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 = ;
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
所以关闭它可以加快http 请求。
还有 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。希望在以后有更好的办法加快。晚了洗洗睡了。
C# http 性能优化500毫秒到 60 毫秒的更多相关文章
- C# 【Http请求返回】性能优化500毫秒到 60 毫秒
偶然发现 C# 的 HttpRequest 要比 Chrome 请求同一Url 慢好多.C# HttpRequest 要500毫秒 而Chrome 只需要 39ms. 作为有责任感的 码农.这个 必须 ...
- 60 cuda全局性能优化
0 引言 cuda线程模型涉及grid的块划分和线程配置,直接影响到全局运算速度.根据文档<CUDA_C_Programming_Guide>,性能优化有三个方面的基本策略. (1)最大化 ...
- 转载:SqlServer数据库性能优化详解
本文转载自:http://blog.csdn.net/andylaudotnet/article/details/1763573 性能调节的目的是通过将网络流通.磁盘 I/O 和 CPU 时间减到最小 ...
- 网站性能优化(Yahoo 35条)
Yahoo 网站性能优化 35条 一.内容部分 尽量减少 HTTP请求 减少 DNS查找 避免跳转 缓存 Ajxa 推迟加载 提前加载 减少 DOM元素数量 用域名划分页面内容 使 frame数量最少 ...
- Yahoo团队经验:网站性能优化的34条黄金法则
Yahoo团队总结的关于网站性能优化的经验,非常有参考价值.英文原文:http://developer.yahoo.com/performance/rules.html 1.尽量减少HTTP请求次数 ...
- Yahoo网站性能优化的34条军规
1.尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容,这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数,这是提高网页速 ...
- MongoDB实战性能优化
1. 性能优化分类 mongodb性能优化分为软件层面和操作系统层面. 软件层面,一般通过修改mongodb软件配置参数来达到,这个需要非常熟悉mongodb里面的各种配置参数: 而操作系统层面,相对 ...
- [转] 钉钉的H5性能优化方案
对于一个H5的产品,功能无疑很重要,但是性能同样是用户体验中不可或缺的一环.原本H5的渲染性能就不及native的app,如果不把性能优化做起来,将极大地影响用户使用产品的积极性. 用户感受 当用户能 ...
- Yahoo网站性能优化的34条规则
摘自:http://blog.chinaunix.net/uid/20714478/cid-74195-list-1.html Yahoo网站性能优化的34条规则 1.尽量减少HTTP请求次数 终端用 ...
随机推荐
- arcgis api 3.x for js 热力图优化篇-不依赖地图服务(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- vue(6)—— vue中向后端异步请求
异步请求 其实什么是异步请求已经不用多说了,通俗的说,就是整个页面不会刷新,需要更新的部分数据做局部刷新,其他数据不变. 学到这里,你应该用过jquery里的ajax了,所以很能理解了,不多说了.详细 ...
- js坚持不懈之13:JavaScript查找HTML元素的方法
1. 通过 id 查找 HTML 元素 <!DOCTYPE html> <html> <body> <p id = "intro"> ...
- MySQL基础知识-安装MySQL
前导: 昨天去参加了一个面试,公司不太大,是一家日资企业,在国内有几家分公司,面试官问到了MySQL的基本操作和性能优化,说了一大堆,倒是比较轻松的过了,但是面试结束之后,想了一下,基本操作忘的还是挺 ...
- Linux环境下将Oracle11g数据库模式由非归档模式(Noarchivelog)修改为自动归档模式(archivelog)
1.查看Oracle当前版本 select * from v$version 如图所示: 2.切换到Oracle用户 su - oracle 如图所示: 3.进入sqlplus(此时尚未登录oracl ...
- linux系统mysql-5.7 修改字符集
起因:我在网上看修改mysql字符的文章时,都说配置/etc/mysql/my.cnf文件 然而我打开我上述的my.cnf文件时,发现里面的内容跟别人的不一样,我就觉得这个肯定不是正确的文件 经过我在 ...
- [已解决]ValueError: row index was 65536, not allowed by .xls format
报错: ValueError: row index was 65536, not allowed by .xls format 解决方案: xlrd和xlwt处理的是xls文件,单个sheet最大行数 ...
- 在source中查看代码
如果你想查看网页的代码,有时会出现这种情况: o my god!啥都看不出来!这要怎么办?放弃吗,当然不啦! 点击这个神奇的按钮,奇迹发生了! 瞬间变成这个样子,哇,好激动!
- 在C++中定义常量
在 C++ 中,有两种简单的定义常量的方式: 使用 #define 预处理器. 使用 const 关键字 使用 #define 预处理器: #define identifier value: #inc ...
- Riccati方程(微分方程)
形如:$$\frac{dy}{dx}=P(x)y^{2}+Q(x)y+R(x)$$ 其中P(x).Q(x).R(x)是连续可微函数 或形如 $$\frac{dy}{dx}=ay^{2}+\frac{k ...