如何提高asp.net应用程序的性能?

时间:2011-04-11 07:36:29

标签: asp.net

您好 当多个用户访问我的应用程序大约5000个用户时,我想提高asp.net应用程序的性能。

我们可以这样做吗

2 个答案:

答案 0 :(得分:11)

您的ASP.NET应用程序性能取决于各种各样的事情。您可以通过执行各种操作来提高网站的性能。您的问题非常主观,当然答案是关于提高ASP.NET应用程序性能的一些最佳实践。

我从网上收集了一些提示。不幸的是,我不记得在哪里。搜索任何项目,您会发现许多可以帮助您实现它的资源:

  • 使用缓存:
    • 页面输出缓存。
    • 页面片段缓存。
    • 数据缓存。
  • 避免频繁访问数据库。
  • 使用数据库级分页。请勿检索不会在当前页面中显示的不必要数据。
  • 注意会话变量。通常,您应该避免会话变量,因为每个ASP页面都在不同的线程中运行,并且会话调用将逐个序列化。因此,这将减慢应用程序。您可以在包含值的表单中使用QueryString集合或隐藏变量,而不是会话变量。
  • 在为您的应用程序进行最终构建之前选择Release模式。
  • 在汇编下设置debug = false:<compilation default Language="c#" debug="false">
  • 避免使用内联JavaScript和CSS
  • 使用Finally Method杀死资源。 (但不是在使用的情况下)
  • 避免例外:使用If条件(如果检查条件正确)
  • 检查“Page.IsPostBack”。避免重复执行代码。
  • 使用单个css文件而不是多个css文件。
  • 使用客户端验证。 (但并非所有时间都必须在服务器端进行验证)。
  • 除非必要,否则请关闭跟踪。
  • 如果不需要,请关闭会话状态。
  • 不需要时禁用ViewState。
  • 尝试使用StringBuilder而不是string。

      

    当字符串被修改时,使用Stringbuilder而不是String是很好的。在每次修改时,字符串占用不同的内存位置,其中stringbuilder使用单个内存位置。

  •   
  • 不要直接使用对象值;首先在局部变量中获取对象值然后使用。变量读数需要更多时间。
  •   
  • 避免使用x = x +1等代码;使用x + = 1总是更好。
  •   
  • 数据访问技术:DataReaders提供了一种快速有效的数据检索方法。就性能而言,DataReader比DataSet快得多。但这取决于您决定在功能/性能之间取得平衡。
  •   
  • 使用Repeater控件而不是DataGrid,DataList,因为它高效,可自定义和可编程。
  •   
  • 减少cookie大小。
  •   
  • 压缩CSS,JavaScript和图片。
  •   
  • 使用服务器端压缩软件,例如Port80s
  •   
  • 使您的页面文件尽可能轻。这是为了避免不必要的标记,例如使用div元素而不是表格。
  •   
  • 在div中编写静态消息,并在必要时使其可见。这比让服务器设置标签或div的Text属性要快。
  •   
  • 如果可能,立即从数据库中检索必要的数据。尽量不要累加到数据库之旅。为此,请合并来自不同表的数据字段并选择它们。
  •   

答案 1 :(得分:0)

从你的html中删除空格会增加你的kb。您可以使用正则表达式删除空格。我将发布用于删除下一个帖子的空格的代码。

对于asp.net 2.0及更高版本,使用母版页。它会提高你的表现。

对ado.net方法使用ADO.NET异步调用。 asp.net 2.0或更高版本支持您的性能。如果您使用相同的过程或多次命令,那么使用ADO.NET Prepare命令将提高您的性能。

根据您的要求进行IIS性能调整。

尽可能禁用控件的视图状态。如果您使用的是asp.net 2.0或更高版本,则使用asp.net控件状态而不是视图状态。通过覆盖存储视图状态的默认方法

,在会话或数据库中存储视图状态

明智地为您的应用程序使用Ajax。很多Ajax调用页面也会降低你的性能。

从java脚本而不是服务器端调用Web服务。使用异步调用从Web服务调用Web方法。