使asp.net web应用程序运行更快的提示

使asp.net web应用程序运行更快的提示,asp.net,asp.net-3.5,performance,Asp.net,Asp.net 3.5,Performance,要使asp.net web应用程序比以前运行得更快,我们可以做些什么。需要做哪些调整?缓存页面和数据以及优化数据访问可能是在不改变硬件的情况下提高性能的关键因素。除此之外,您还可以查看群集/负载平衡以获得更多可用资源。要使任何应用程序运行得更快,首先要找出它在哪里花费时间,然后让它在那里花费更少的时间。使用分析器 探查器简化了将应用程序分解为更小的部分,然后加速各个部分的过程。如果你买不起剖析器,你可以自己做 例如,您说您的平均响应时间是4-5秒。那是很长时间了。在那5秒钟里发生了什么?这一切

要使asp.net web应用程序比以前运行得更快,我们可以做些什么。需要做哪些调整?

缓存页面和数据以及优化数据访问可能是在不改变硬件的情况下提高性能的关键因素。除此之外,您还可以查看群集/负载平衡以获得更多可用资源。

要使任何应用程序运行得更快,首先要找出它在哪里花费时间,然后让它在那里花费更少的时间。使用分析器


探查器简化了将应用程序分解为更小的部分,然后加速各个部分的过程。如果你买不起剖析器,你可以自己做

例如,您说您的平均响应时间是4-5秒。那是很长时间了。在那5秒钟里发生了什么?这一切都在等待数据库吗?您可以尝试在应用程序之外运行查询,以查看它们需要多长时间。您可以运行SQL Server Profiler来记录一段时间内的数据库事务,然后通过数据库优化向导运行结果。它可能会对数据库索引的更改提出一些建议

您可以使用Fiddler,或者打开页面跟踪来确定页面是否太大。跟踪可以告诉您页面操作的特定阶段需要多长时间。也许你需要很长时间来呈现某些页面

此外,您还需要查看服务器的性能。你用的CPU太多了吗?内存太多?您是否将时间花在页面抖动上,将ASP.NET工作进程的页面从内存中敲出,以便引入SQL Server的页面,而在数据库查询完成且工作进程需要再次运行时将这些页面敲出


将问题分解成更小的部分,然后修复这些部分。

ASP.NET的性能调优是一个大课题。事实上,为了给你的问题提供一个全面的答案,我写了一本书

从高层次来看:

  • 最小化客户端和服务器之间以及服务器和数据库之间的往返
  • 关注感知绩效
  • 最小化阻塞呼叫
  • 所有层上的缓存
  • 优化磁盘I/O管理
  • 优化浏览器对象加载和渲染顺序
  • 避免使用Ajax、Silverlight和JavaScript重新加载整个页面
  • 避免同步数据库写入
  • 使用监控和仪器
  • 了解SQL Server如何管理内存
  • 在数据层有效使用分区

我的方法主要是规范性的,而不是理论性的。你可以看看亚马逊上的评论,了解更多关于我意思的细节。

我同意缓存。ASP.NET确实有很好的内置缓存机制

我还建议对应用程序进行评测,就像上面已经推荐的那样

这里有一个链接,链接到一篇关于一些免费的.NET分析器和付费的.NET分析器的文章

编辑:您可能也想签出这个StackOverflow线程


希望这能有所帮助。

这是一个大话题,但我想到的主要事情是:

  • 将viewstate大小保持在较低的水平
  • 更少的回发。在可能的情况下,使用javascript避免它们。验证控件是一个很好的例子,说明了这是如何工作的
  • 有一个好的缓存策略
还有一些非asp.net特定的内容,如:

  • 确保数据库查询不会让您陷入困境
  • 最小化http请求
  • 将静态资源保留在单独的无cookieless域中
  • 在您花时间优化之前,请先进行配置,这样您就不会浪费时间优化错误的内容
您可能还会发现这个问题很有帮助:

什么类型的应用程序?你有数据库吗?你在计算吗?完全主观的问题…该应用程序是一个asp.net web应用程序,包含82个网页、34个报告(图形和文本),DB是sql server 2005。页面的平均响应时间约为4-5秒。感谢您的回复,我非常感谢您的建议。。。我采用了以下解决方案:首先,我使用查询优化工具优化了所有查询。其次,我增加了托管应用程序的服务器的内存(以前是512MBRAM…现在是2GB)。最后,我删除了所有不需要的viewstate…-->结果应用程序运行非常快,平均响应时间现在为1-2秒。尽管如此,如果有人有更多的观点可以分享,我还是找到了一个很好的工具来分析所有的请求和响应,这在加速我的web应用程序方面帮了我很大的忙。该工具是Fiddler和链接,因为它是免费的,易于使用。为什么不呢?你试过JetBrains的dotTrace吗?它在分析ASP.NET应用程序方面做得很好。超高速ASP.NET MVC 5版或ASP.NET核心版?本书的最新版本包括ASP.NET 4.5。然而,所涉及的原则将适用于MVC5和Core。