作者:吴丽萍 张林霞 于广州
【摘 要】本文首先简单介绍了asp.net2.0的概括和特性,然后列举出几个影响asp.net应用程序性能的标准,最后结合开发asp.net2.0应用程序的经验总结出了几条改进asp.net2.0应用程序性能的方法。
【关键词】ASP.NET2.0web调试
一、ASP.NET 2.0新特性
ASP.NET 2.0技术增加了大量方便、实用的新特性。ASP.NET 2.0主要提供控件、页面框架、服务与APIs等3个方面的技术特性。
1.控件在ASP.NET 1.x时代,由于内置服务器控件数量有限、功能覆盖面窄。为了消除这个技术软肋,ASP.NET 2.0做出了突破性改进。在ASP.NET 2.0中,新增数十个服务器控件。根据控件功能特征,可分为:数据控件(包括数据源控件和数据绑定控件)、登录系列控件、Web部件、站点导航控件和其他控件等。这些服务器控件对于提高工作效率,降低开发成本有着重要作用。2.页面框架在页面框架方面,ASP.NET 2.0同样做出了重大改进,主要体现在以下4项技术特性:母版页、主题和皮肤、编译机制和本地化。母版页特性在大型Web站点中应用广泛,它能够在一定程度上代替框架页功能,从而迅速建立具有统一布局和外观的页面,并且有效降低维护人员的工作强度。主题和皮肤是ASP.NET 2.0的一项新增功能,使用此功能可以一次性设置一种类型的服务器控件外观样式。该外观可方便地应用于单个页面、整个Web应用程序,甚至整个服务器。在应用程序编译方面,ASP.NET 2.0提供了几种替代方案,从而扩大了编译的选择范围,开发人员可以根据特定需要进行选择。另外,ASP.NET 2.0在本地化方面也做出了一些改进。
3.服务与APIS这个部分包括的新特性在ASP.NET 2.0中占有较大比例,主要包括成员资格管理、角色管理、用户配置、数据缓存、配置与管理工具等。利用这些功能,可以快速实现用户和角色管理、个性化用户配置、数据缓存、应用程序可视化配置等任务。以成员资格和角色管理功能为例,在ASP.NET 1.x时代,实现这两项功能是比较繁琐和困难的;而在ASP.NET 2.0中不仅提供默认数据库表,而且只需调用几个简单的方法,就能够轻松地实现成员和角色管理功能。
二、影响ASP.NET应用程序性能的度量标准1.执行时间
处理一个请求所需的时间,通常按服务器向客户端返回的第一个字节和最后一个字节之间的时间计算。执行时间直接影响吞吐量的计算。
2.响应时间
从发出请求到服务器向客户端返回第一个字节之间的时间长度。对于客户端用户,这通常是性能中最直观的一个方面。如果应用程序响应时间很长,用户可能会觉得不耐烦,并转到另一个站点。应用程序的响应时间的改变与吞吐量的速率无关(甚至成反比)。
3.可缩放性
用于衡量应用程序在获取更多资源(内存、处理器或计算机)时更好地执行的能力。它经常按吞吐量相对于处理器数的更改速率计算。
4.吞吐量
web应用程序在单位时间之内可以处理的请求数,经常以每秒请求数衡量。吞吐量可以根据应用于服务器的加载(客户端线程数)而不同,这通常被视为要优化的最重要的性能度量。为了编写正常且高效执行的应用程序,务必要保持这些度量的合理取值范围。
ASP.NET 2.0模型提供了许多内置的性能增强功能,尤其是在HTTP请求的处理方面的两项功能:第一,当首次请求ASP.NET页面时,将动态编译Page类的实例。公共语言运行时(CLR)会将ASP.NET托管页代码实时编译为处理服务器的本机代码。第二,当为第一个请求编译Page类实例后,就将其缓存到服务器上。对于随后对该页的每个请求,将执行该类缓存的实例。除非该页的初始源或它的一个依赖项发生更改,否则对Page类的编译只发生在最初请求之后,这极大地提高了ASP.NET页面的访问速度。但要保证用户所编写的应用程序能够同时处理多个HTTP请求,从而改善ASP.NET应用程序的性能,还需从以下几个方面着手来确保所编写的代码能够达到较高的性能级别。