NETFramework部署的性能调整

2008-04-09 03:57:24来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

NET Framework部署的性能调整
白皮书
Tony Northrup

本页内容

  • ASP.NET应用程序和Web服务
  • 调整会话状态
  • Web应用程序的压力测试工具
  • 识别系统瓶颈
  • 使用跟踪
  • 配置设置
  • 构建于.NET Framework之上的其它应用程序
  • Internet信息服务
  • SQL Server
  • 结论

摘要
同先前的ASP程序相比,ASP.NET在性能上提供了极大的改进。虽然ASP.NET的标准配置
也可以提供远远超出先前
环境的优异性能,但是管理员可能仍然需要对系统配置进行一些
调整,以实现最佳的性能表现和伸缩性。本白皮书
面向系统管理员,介绍了调校构建于
.NET Framework之上的应用程序的性能所需掌握的技术,并且讨论了ASP.NET
Web应用程
序、ASP.NET Web服务以及.NET远程应用程序。

ASP.NET应用程序和Web服务

与其它类型的应用程序相比,Web程序和Web服务的性能调整工作应当引起更多的重视
和注意。这些应用程序一般
面向外部用户,而一个糟糕的Web站点肯定会给公司形象造
成十分恶劣的影响。和面向企业内部的应用程序不同,
定位于外部用户的公众Web服务
可能会被数以百万计的用户所访问,而内部应用程序的用户数量则受公司员工规模
的限制。

ASP.NET为系统管理员赋予了更多能力,使他们能够对Web程序和Web服务的性能和规模
施加更有力的控制。新的会
话状态管理能力可以将有关用户访问的信息从应用程序之中完
全分离出来,管理员可以选择将信息存储在Web服务器的动态RAM中,存储在状态服务器
上,或者是存储在一个数据库中。内置的跟踪功能则允许管理员将性能问题同某段具体的应
用程序代码联系起来--决定性地指出问题是由应用程序而不是系统配置问题引起的。

特别针对ASP.NET的新的性能计数器提供了有关应用程序性能的各个细节,为管理员解决系
统瓶颈提供了所需的信息。现有的实用工具,例如Microsoft Web Application Stress(WAS)
工具可以用来产生站点流量,在真正的用户发现站点存在的问题之前就将这些问题彻底解决。
由于ASP.NET既可以用来开发Web程序,也可以用来构建Web服务,管理员可以直接深入到下
一代Web商业的内部。本部分的内容将为管理员分析和调整各种ASP.NET应用程序的提供详细
的分布指导。

返回页首

调整会话状态

对Web应用程序和Web服务进行伸缩所需面临的最大挑战之一便是:用户状态是由多个服务器
进行维护的。无论Web农场采用何种配置方式,在一个会话中,针对某个用户的请求总是有可
能被转发到两个不同的系统上。如果所有的站点内容都是静态的,那么将不会存在任何问题。
但是,现在大多数的Web站点都会对用户会话进行跟踪以保存同此用户有关的特定信息,例如
喜好、个性化参数和购物车等。

先前版本的ASP允许开发人员访问会话状态信息,并且允许他们将有关用户的信息存储在这个
会话对象的内部。这些信息可以从站点的任何一个其它的页面上进行访问。但是,ASP会将
这些信息保存在Web服务器的内存之中。因此,如果使用多台Web服务器,用户的请求可能就
会被发送到一个与发起会话的服务器不同的其它服务器上,有关会话的信息将无法获得。如果
某个Web服务器重新进行了启动,它保存的所有会话信息都将丢失,这对站点的正常运转会造
成不可估量的影响--尤其是在您使用该会话保存用户购物车信息的时候。

ASP.NET提供传统的单服务器会话信息,这和ASP的以前版本非常类似。此外,它还为会话信
息的集中提供了两个方法,这使得用户可以从Web农场或Web花园的很多不同服务器上获得这
些会话数据。具体使用两种方法中的哪一种完全由系统管理员来决定 -- 它并没有以代码形式固
定在程序之中。所以,对于那些不是针对Web农场进行设计的ASP .NET Web程序或Web服务,
系统管理员可以对其进行衡量和分等。

ASP.NET可以使用三种方法存储会话状态信息:存储在进程中;存储在一台中央状态服务器上;
或者存储在SQL Server数据库中。将会话信息保存在进程中这种方法与传统的ASP会话类似,因
为会话状态信息也保存在Web服务器的内存之中,不和其它系统进行共享。这种配置方法具有

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:对WindowsDNA应用程序中的数据访问组件进行压力测试

下一篇:全球化测试