2013-05-30 36 views
3

要求我的应用程序的帮助,这是运行在Windows Server 2003和iis 6.0,这个应用程序总量现在,用户现在大约每天60,000。而我的所作所为,使其更快先进的asp.net提高性能

a.SQL服务器2005:

  • 所有查询我将其转换为StoredProcedure。
  • 所有表都有FK上的索引。
  • 大部分来自视图的select语句。
  • 永远不要在所有命令中使用*。

,但仍然有死锁错误

B. js文件:

  • 包括所有在一个文件
  • 优化文件

℃。 css文件:

  • 在一个文件中优化

D.asp.net 2.0:

  • 最JSON对象上的默认页运行通过调用Web方法和 渲染页面或用户控件。
  • 我保存在服务器上的所有照片最大尺寸为20KB。
  • 启用缓存

E.windows服务器2003:

  • 当我使用Windows性能工具它的80%来自SQL

任何建议,以改善这个性能应用程序

+2

http://codereview.stackexchange.com/这类问题 –

+0

为您的意见/选择,请检查您仅使用LEFT JOIN适用时,当处理两个大表时,加入INNER JOIN会更快。这是一个小胜,但是当你的优化小胜是剩下的 – We0

+1

对我来说,吃掉80%的SQL并没有给出任何线索。你必须告诉我们你要专注于真正的问题 - 这里你真正的问题是什么 - 你有很多死锁吗?你的页面变慢了吗?你的数据库文件很庞大吗?它的设计问题,还是一个巨大的交通问题? – Aristos

回答

2

这是一个广泛的问题。有很多方法可以改善性能,下面的链接有一些最佳实践。

http://www.dotnetjalps.com/2009/05/increase-performance-in-aspnet.html

尝试展鹏蚂蚁探查了剖析应用程序,看看那里的瓶颈。 http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

对于内存泄漏,请使用dottrace内存分析器并查看您的应用程序如何执行。 http://www.jetbrains.com/profiler/

您还可以通过服务器上的进程管理器检查性能计数器。 http://msdn.microsoft.com/en-us/library/fxk122b4(v=vs.100).aspx

对于存储过程,您可以通过direclty执行查询字符串来测量时间。如果任何存储过程需要更多的时间,那么你应该重构该过程。

这里有几个可能对你有用的链接。

http://www.codeproject.com/Articles/196378/Best-Practices-to-Improve-ASP-NET-Web-Application

http://www.codeproject.com/Articles/23306/10-ASP-NET-Performance-and-Scalability-Secrets

http://msdn.microsoft.com/en-us/library/ff647787.aspx