KiMoGiGi 技术文集

不在乎选择什么,而在乎坚持多久……

IT博客 首页 联系 聚合 管理
  185 Posts :: 14 Stories :: 48 Comments :: 0 Trackbacks

原文
标题:ASP.NET Best Practices for High Performance Applications
作者:Ali Khan (OKC)
链接:http://www.codeproject.com/aspnet/ASPNET_Best_Practices.asp
翻译时间:2007-11-23



11. 注意分页的效率【Use paging efficiently】
 
 

允许用户请求获得太多的数据,以至于消耗程式过多的资源,造成服务器不必要的紧张。这种不必要的压力导致增加CPU的使用率,增加内存使用量以及降低了反应次数。客户自然而然地,链接速度就会变慢。从可用性角度来说,大部分用户不会想在一个页面看到成千上万笔数据的呈现。。执行一个分页方案,从数据库中获取只想看到的一部分数据,减少后台数据库的工作量。你应该优化从数据库服务器到中间网站服务器获取数据的效率。要获取更多的信息,可以读这篇文章(http://weblogs.asp.net/scottgu/archive/2006/01/01/434314.aspx),在数据库层面实现分页。如果你是使用SQL Server2000,也看看这篇文章(http://www.codeproject.com/aspnet/PagingLarge.asp)。

12. 显示关闭所有资源【Explicitly Dispose or Close all the resources】

当出现异常时,使用try/finally模块,保证资源被清除。在finally模块关闭资源。使用try/finally模块可以确保即使出现异常状况,资源也被关闭。在你需要打开连接的时候才打开它,并且在你完成任务后,尽快地关闭掉。你应该永远记住这句话:“进来,处理完数据,立刻走”。如果你使用了多个不同的对象,你要确认已经调用了各个对象所提供的Dispose 或Close。如果调用Close或Dispose失败的话,在客户端停止使用它们后,对象在内存还会延长它的生命周期。延迟清除资源会增加内存的压力。数据库连接和文件IO读写,就是应该显示关闭的例子。

Try
_con.Open()
Catch ex As Exception
Throw ex
Finally
If Not _con Is Nothing Then
_con.Close()
End If
End Try

 

13. 禁用跟踪和除错【Disable tracing and debugging】

在你发布配置你的应用程式时,应该禁用跟踪和除错。跟踪和除错功能会导致一些性能的问题。当你的程式在正式环境运行时,并不推荐开启跟踪和除错功能。你可以使用以下的语法,在Machine.config和Web.config文件中禁用它们。

<configuration>
   
<system.web>
      
<trace enabled="false" pageOutput="false" />
      
<compilation debug="false" />
   
</system.web>
</configuration>

 

14. 预编译页面,禁用自动匹配属性【Precompile pages and disable AutoEventWireup】

尽量使用预编译页面,不要让用户有机会访问批量即时编译的ASP.NET文件;因为这将会增加用户消耗的性能。

另外,在Machine.config设置AutoEventWireup属性为false,你的页面将不会根据一些匹配的方法名称而自动调用它们(如,Page_Load)。如果开发人员想使用这些事件,它们可以重写基类的方法(如,他们可以重写页面的Page.OnLoad,替换使用Page_Load的方法)。如果你禁用了AutoEventWireup,你使用事件绑定替代原来的自动呈现方法,页面性能会得到轻微的提升。

15. 使用存储过程和索引【Use stored procedures and indexes】

在大部分的情况下,使用已编译后的存储过程代替特别的查询会获取更多的性能改善。

确认你的表都正确地添加了索引。尝试使用“索引优化向导”(Index Tuning Wizard ),你可以获得他的一些关于最好的索引建议,可供选择。你无需遵守所有以下的建议,但它可能会提示出关于你的结构和数据的一些信息,这些都对你选择更适合索引有所帮助。

 1)在SQL Server Management Studio (SQL Server 2005), 选中你的Sql语句。在菜单选择“查询”=》“显示估计执行计划”,查看查询开销和索引使用详细信息(快捷键Ctrl +L)。
 2)在Sql2000也有类似的“索引调整向导”。在查询分析其中,选中你的Sql,选择在菜单选择“查询”=》“Index Tuning Wizard”。

引用

改善.NET程式的性能和可扩展性 (发布于 2006, February 12).

posted on 2007-11-23 01:17 KiMoGiGi 阅读(392) 评论(0)  编辑 收藏 引用 所属分类: ASP.NET英文文章翻译
只有注册用户登录后才能发表评论。