翻译出处:http://www.codeproject.com/KB/aspnet/aspnetPerformance.aspx



1. HTTP 压缩

HTTP 压缩通常用于压缩从服务端返回的页面内容。它压缩HTTP请求和响应,这个会是巨大的性能提升。我的项目是基于Window Server 2003开发的,可以参考这篇文章.



2. 让ViewState失效

ViewState允许页面状态保持在客户端,它不区别于Cookie或者服务器内存。View State保存数据在一个隐藏域中。可以肯定的是,这个是很很强大的特性,但它的缺点使页面大小和在服务器中的内存增大。

所以,我们要避免使用ViewState,特别是,DataGrid等控件,ViewState加载所有的表格数据的状态。去掉它,可以使页面的大小缩小。



3. 改变Web.config文件

a. 用页面缓存:

这将在一定的时间段保存你的页面,页面能够更快得地加载出来。但要记住,如果你的页面数据经常更新,就不适合使用页面缓存。

<caching> <outputCacheSettings> <outputCacheProfiles> <add name="cached" duration="600" varyByParam="none" enabled="true"/> </outputCacheProfiles> </outputCacheSettings> </caching>

b. 从web.config移除不必要的httpModule:

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <remove name="WindowsAuthentication" /> <remove name="PassportAuthentication" /> <remove name="AnonymousIdentification" /> <remove name="UrlAuthorization" /> <remove name="FileAuthorization" />

c. 关闭跟踪:

<trace enabled="false" pageOutput="false" />

d. 当使用user membership的时候,使profiles保存自动失效:

<profile enabled="true" automaticSaveEnabled="false" />

e. 设置调试状态为false:

<compilation debug="false">



4. 提高Cache Dependency:

三种方式的cache dependencies可以使用:

1. 在传统缓存项的caching dependencies;

2. 在文件上的caching dependencies;

3. 在SQL上的caching dependecies;

你应该选择最好的策略适应你的应用程序,这儿有一个在文件上cache dependency的例子可以参考下。



5. 优化CSS样式表:

清理CSS样式表是非常重要的,移除没用的代码能够提升页面加载的效率,在工程中,可以使用工具来压缩样式表的大小,可以使用CSS在线压缩工具来压缩css代码的大小。



6. 优化Javascript代码:

可以使用JS在线压缩工具来优化Javascript代码。



7. JS和CSS文件的位置:

将CSS文件尽量放在页面的头部,将JS文件尽量放在页面的底部。
 


8. 如果可能,将server.transfer()代替response.redirect()

这样将更快地加载页面,因为它只是在Post表单,而不用刷新整个页面。
 


9. 在验证方面,使用客户端脚本:

可以避免postback回传。