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

如何提高asp.net应用程序的性能?,asp.net,Asp.net,嗨 当多个用户访问我的应用程序时,我希望提高asp.net应用程序的性能—大约5000个用户 我们能否做到这一点您的ASP.NET应用程序性能取决于各种因素。你可以通过做各种事情来提高网站的性能。您的问题非常主观,答案当然是关于提高ASP.NET应用程序性能的一些最佳实践 我从网上收集了一些技巧。不幸的是,我不记得在哪里。搜索任何项目,您都会发现许多可以帮助您实现它的资源: 使用缓存: 页面输出缓存 页面片段缓存 数据缓存 避免频繁访问数据库 使用数据库级分页。不要检索当前页面中不会显示的

嗨 当多个用户访问我的应用程序时,我希望提高asp.net应用程序的性能—大约5000个用户


我们能否做到这一点

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

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

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

    当字符串被修改时,使用Stringbuilder代替字符串是很好的。字符串在每次修改时占用不同的内存位置,其中stringbuilder使用单个内存位置
  • 不要直接使用对象值;首先在局部变量中获取对象值,然后使用。它比变量读取需要更多的时间
  • 避免使用像x=x+1这样的代码;最好使用x+=1
  • 数据访问技术:数据阅读器提供了一种快速有效的数据检索方法。就性能而言,DataReader比数据集快得多。但这取决于您决定在功能/性能之间取得平衡
  • 使用中继器控制代替DataGrid、DataList,因为它是高效的、可定制的和可编程的
  • 减少饼干的大小
  • 压缩CSS、JavaScript和图像
  • 使用服务器端压缩软件,如
  • 使页面文件尽可能轻。也就是说,尽量避免不必要的标记,例如使用div元素而不是表
  • 在div中写入静态消息,并在必要时使其可见。这比让服务器设置标签或div的文本属性要快
  • 如果可能,立即从数据库中检索必要的数据。尽可能不要加起来导致数据库跳闸。为此,请组合来自不同表的数据字段并选择它们


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

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

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

    当字符串被修改时,使用Stringbuilder代替字符串是很好的。字符串在每次修改时占用不同的内存位置,其中stringbuilder使用单个内存位置
  • 不要直接使用对象值;首先在局部变量中获取对象值,然后使用。它比变量读取需要更多的时间
  • 避免使用像x=x+1这样的代码;最好使用x+=1
  • 数据访问技术:数据阅读器提供了一种快速有效的数据检索方法。就性能而言,DataReader比数据集快得多。但这取决于您决定在功能之间保持平衡