提高ASP.NET性能的几种方法

开发 后端
本文介绍提高ASP.NET性能的几种方法,包括优化Web 服务器计算机和特定应用程序的配置文件以符合您的特定需要等。

优化Web 服务器计算机和特定应用程序的配置文件以符合您的特定需要

默认情况下,ASP.NET 配置被设置成启用最广泛的功能并尽量适应最常见的方案。因此,应用程序开发人员可以根据应用程序所使用的功能,优化和更改其中的某些配置,以提高ASP.NET性能。下面的列表是您应该考虑的一些选项。

仅对需要的应用程序启用身份验证

默认情况下,身份验证模式为 Windows,或集成 NTLM。大多数情况下,对于需要身份验证的应用程序,最好在 Machine.config 文件中禁用身份验证,并在 Web.config 文件中启用身份验证。根据适当的请求和响应编码设置来配置应用程序。ASP.NET 默认编码格式为 UTF-8。如果您的应用程序为严格的 ASCII,请配置应用程序使用 ASCII 以获得稍许的性能提高。

考虑对应用程序禁用 AutoEventWireup

在 Machine.config 文件中将 AutoEventWireup 属性设置为 false,意味着页面不将方法名与事件进行匹配和将两者挂钩(例如 Page_Load)。如果页面开发人员要使用这些事件,需要在基类中重写这些方法(例如,需要为页面加载事件重写 Page.OnLoad,而不是使用 Page_Load 方法)。如果禁用 AutoEventWireup,页面将通过将事件连接留给页面作者而不是自动执行它,获得稍许的性能提升。

从请求处理管线中移除不用的模块

默认情况下,服务器计算机的 Machine.config 文件中节点的所有功能均保留为激活。根据应用程序所使用的功能,您可以从请求管线中移除不用的模块以获得稍许的性能提升。检查每个模块及其功能,并按您的需要自定义它。例如,如果您在应用程序中不使用会话状态和输出缓存,则可以从列表中移除它们,以便请求在不执行其他有意义的处理时,不必执行每个模块的进入和离开代码。

一定要禁用调试模式

在部署生产应用程序或进行任何性能测量之前,始终记住禁用调试模式。如果启用了调试模式,提高ASP.NET性能可能受到非常大的影响。

对于广泛依赖外部资源的应用程序,请考虑在多处理器计算机上启用网络园艺

ASP.NET 进程模型帮助启用多处理器计算机上的可缩放性,将工作分发给多个进程(每个CPU一个),并且每个进程都将处理器关系设置为其 CPU。此技术称为网络园艺。如果应用程序使用较慢的数据库服务器或调用具有外部依赖项的 COM 对象(这里只是提及两种可能性),则为您的应用程序启用网络园艺是有益的。但是,在决定启用网络园艺之前,您应该测试应用程序在网络园中的执行情况。以上是介绍提高ASP.NET性能的几种方法。

【编辑推荐】

  1. 介绍ASP.NET中SQL语句
  2. 在ASP.NET中使用StringBuilder
  3. ASP.NET中的Response.Write
  4. 浅析ASP.NET授权模块
  5. ASP.NET运行时的处理流程
责任编辑:佚名 来源: 51CTO.com
相关推荐

2009-09-18 09:16:06

.NET垃圾回收

2011-10-14 10:37:54

ASP.NET

2009-09-04 11:20:47

ASP.NET页面间值

2009-08-05 15:13:32

使用Cache提高AS

2009-12-16 09:16:53

ASP.NET页面间数

2010-05-07 08:59:50

ASP.NET

2011-07-07 09:03:12

ASP.NET

2009-08-25 14:59:36

ASP.NET和C#连

2009-07-28 13:26:34

Render方法ASP.NET

2012-12-24 09:23:27

ASP.NETC#IIS

2014-07-31 09:28:09

ASP.NETWeb API

2009-07-27 14:41:33

ASP.NET调用存储

2009-07-29 11:33:14

ASP.NET技巧ASP.NET应用程序

2012-03-12 13:54:56

ASP.NET

2009-07-28 09:45:34

Webpart部署方式使用ASP.NET

2009-07-20 16:04:37

ASP.NET fra

2009-07-22 09:11:02

Action方法ASP.NET MVC

2009-07-20 18:06:26

ASP.NET限制上传

2009-07-28 17:41:54

ASP.NET工具

2009-07-24 16:40:14

ASP.NET软件开发
点赞
收藏

51CTO技术栈公众号