前一段时间我搞的网站一直有性能问题,页面有时候打开非常慢,要等个10几秒。想了很多办法, cache,disable viewstate, disable debug mode. 提升都不明显。
后来撞上说用Sql server profiler 看一下,果然很快找到原因:一个比较慢的查询拖累了整个页面。后来对这个查询做了优化,但是提升仍不是很多。最后给这个表建了索引,查询消耗的CPU时间马上从 1000+ 变成 0 ! 呵呵。
http://www.mssqltips.com/tip.asp?tip=1872 这篇文章讲如何用 Database Engine Tuning Advisor (DTA) 来优化数据库性能。
可以先把查询保持能sql然后用DTA打开,也可以用profiler抓一些查询用DTA打开。但是我用DTA打开profiler抓的文件的时候速度非常慢,显示正在分析,分析了好几个小时最后超时了。打开单个查询就没问题。
有时候DTA的分析建议自相矛盾,优化这个查询时候说建这个索引,优化那个的时候说把刚才建的索引删了。不过只建不删应该问题不大。
原来还查了很多asp.net 性能优化的东西,看来都没用了,呵呵。不过还是需要学习!加油!
http://ubbs.xunlei.com/read.php?tid=10618 优化的一些常用方法
http://msdn.microsoft.com/en-us/library/ff647787.aspx 微软官方的优化指南,显示出全局的视角。