如何真正提高ASP.NET网站的性能
前言
怎么才能让asp.net网站飞得更快,有更好的性能?——这是很多开发者常常思考的一个问题。我有时候会做大量的测试,或请求别人帮忙采集一些数据,希望能够验证网上一些专家的建议或证明自己的一些猜想。
理论上讲,我们希望能开发出性能最优的网站,但是公司能否承担为此要付出的成本?这是实践过程中常常遇到的矛盾。 如何合理运用已知技巧在实战中是最有意义话题。
本文罗列出一些优化的经验和方案,成文之前有幸看了一些高质量的文章。想强调一点,很多的部分不是我个人的劳动成果,但我完全的支持和同意这样去做,不敢独享,希望抛砖引玉,共同长进。
IIS设置
如果你的IIS服务器不需要外出访问互联网,关闭Certificate Revocation List (CRL)machine.config 中 generatePublisherEvidence证书撤销清单的Authenticode的二进制文件(CRL)检查。
可以参考下面的文章:
http://msdn.microsoft.com/zh-cn/library/bb629393.aspx
打开IIS Compression (HTTP 压缩), 默认情况下IIS7.x 和 IIS6 都没有打开这项。 这可以帮助你提高带宽的使用效率。启用压缩提高 IIS 与启用压缩的浏览器之间的传输速度。 尤其对于移动设备,采用压缩可以提高性能。
仅限静态文件
仅限动态应用程序响应
静态文件和动态应用程序响应
IIS 提供下列压缩选项:
注意: 压缩动态应用程序响应会影响 CPU 资源,因为 IIS 不缓存动态输出的压缩版本。
因为动态压缩会消耗大量的 CPU 时间和内存资源,所以应当仅在满足下列条件的服务器上使用它:网络连接速度很慢,但有多余的 CPU 时间。
与动态响应不同,可以对压缩的静态响应进行缓存,同时不会降低 CPU 资源的性能。
静态文件的优化
尽量合并文件的静态内容(如js文件和css文件)。 这有利于更快地下载此类文件,理想的情况下,合并成一个单一的JS和CSS文件。
先加载CSS然后加载Javascript
避免在HTML中对图片使用Width height, 例如 <img width="400" height="280" src="myimage.jpg" />
代码的优化
确保默认下关闭ViewState,真正需要它时才启用。 关闭ViewState可以从根本上减少页面的大小,并显着提高页面加载时间。
启用ASP.NET输出缓存。 不幸的是,这有可能需要你花时间研究一个个ASPX页面。
启用Web service 的输出缓存。 你的Web service 在任何给定的输入参数下总是返回相同结果, 你可以使用这种缓存。
如果你使用了ASP.NET Ajax,确保在web.config 中设置了 <compilation debug="false"/>。 这避免了客户端和服务器端“昂贵的”参数验证。
工具
使用YSlow来测量网页加载时间。如果有必要我会介绍如何使用Yslow。在这里先上几个截图,让大家有一定了解:
FireBug——这是另外一款利器,你可以很容易得到如何使用它的文章。
其他
如果应用程序需要从XML反序列化任何数据(包括 web services),请预先使用 Sgen.exe (XML 序列化程序生成器工具)生成程序集。 不使用 XML 序列化程序生成器时,XmlSerializer 在应用程序每次运行时为每个类型生成序列化代码和一个序列化程序集。
可以参考下面的文章了解更多关于SGEN :
http://msdn.microsoft.com/zh-cn/library/bk3w6240%28v=VS.100%29.aspx
参考:http://blogs.msdn.com
原文链接:http://www.cnblogs.com/multiplesoftware/archive/2011/02/08/1949809.html
如何真正提高ASP.NET网站的性能相关推荐
- ASP.NET夜话之21:asp.net网站的性能优化
本篇主要讲述在ASP.NET中如何提高程序性能.提高程序性能的方法主要从编码和数据操作及优化配置三方面,本章要讲述的知识点有: l 程序编码优化 l 数据操作优化 l 配置优化 l 总结 21.1 程 ...
- Asp.net性能优化-提高ASP.Net应用程序性能的十大方法
一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的 ...
- 提高 ASP.NET Web 应用性能的 24 种方法和技巧
那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...
- .NET开发人员必看:提高ASP.NET Web应用性能的24种方法和技巧——转
性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置为 ...
- 提高ASP.NET应用程序性能的几招方法
以下经验总结自,并且经过验证 1,不参与POSTBACK机制的控件,不要用服务器控件,尽量用静态HTML标记 2,编译时使用RELEASE配置 3,正式投入应用时,记着将DEBUG设为FALSE 4, ...
- 构建ASP.NET网站十大必备工具
最近使用ASP.NET为公司构建了一个简单的公共网站(该网站的地址:http://superexpert.com/).在这个过程中,我们使用了数量很多的免费工具,如果把构建ASP.NET网站的必备工具 ...
- 8种提升ASP.NET Web API性能的方法
英文原文:8 ways to improve ASP.NET Web API performance ASP.NET Web API 是非常棒的技术.编写 Web API 十分容易,以致于很多开发者没 ...
- 不修改代码就能优化ASP.NET网站性能的一些方法
目录 配置OutputCache 启用内容过期 解决资源文件升级问题 启用压缩 删除无用的HttpModule 其它优化选项 本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不需要修改程 ...
- 提高.net网站的性能
收集您的经验之你用什么方法提高.NET网站的性能 比如:尽量用StringBuilder代替使用字符串连接符 "+". 一条足够烂的sql语句就能把你所有的优化工作废掉,数据库优化 ...
最新文章
- form实现登陆操作
- Zoom Capability
- “乘客迟到5分钟,滴滴司机无责取消订单”是一个好策略吗?
- Linux下安装 Indy 到 Lazarus
- Python中读取打开文件的各种模式以及代表含义
- 静态函数调用非静态函数的小例子
- Django从理论到实战(part6)--关于DEBUG
- xlwings删除数据_xlwings如何删除行和列?
- 微信收款音响s3服务器断开,微信收款音响s2和s3有什么区别
- LeetCode刷题(30)
- 机器视觉对印刷业的影响
- 比较经典的java程序_一些经典的java小程序代码,最好能复制后直接使用的 爱问知识人...
- 【面试经验】关于BERT,面试官们都怎么问
- 算法导论2.3练习答案
- 关于照片(img)的水平居中和垂直居中
- 微信时代的巨大冲击 QQ空间面临艰难转型
- 怎么选择外贸邮箱,收费企业邮箱大全
- 名帖232 张雨 行书《行书帖选》
- Python趣味|为了追到小姐姐,我用 Python 制作了一个机器人
- GFS 区域风场解析问题