技术开发 频道

ASP.NET建设网站之性能调校

【IT168 技术文档】

  现在越来越多的用户使用ASP.NET技术建设网站,ASP.Net技术在开发效率等方面优于Java,同时ASP.Net技术又是面向对象,该技术已成为当前建设网站的主流。然而,在网站建设方面要考虑的主要问题是:如何缩短用户等待响应的时间。一个内容丰富,酷性十足的网站,仅仅因为在处理用户请求时让用户多等了几秒而让用户留下不好的印象,进而流失用户是多么的可惜。提高ASP.NET性能是相当的重要。

  什么是“性能”?通俗的讲就是应用程序尽快地运行,尽可能的多处理并发用户。专业术语就是:系统执行任务的速度和效率。对网站用户而言就是让用户感到“快”。衡量“性能”的指标由很多,例如:页面吞吐量(站点能够服务的每秒页面数),每秒服务的页面越多,站点能够服务的用户就越多。站点的“性能”瓶颈在日常生活中经常可见:某门户网站平时在并发用户数小于5000的情况下能够较好的运行,但在发生类似911事件的情形下网站的并发用户数突破5000甚至10000后,站点的负载接近饱和。此时需要对站点的性能进行优化扩展站点。优化的方式有多种:垂直扩展、水平扩展、代码优化。以下对这三种方式进行简单的叙述:

  垂直扩展:又称向上扩展,指替换、升级现有的硬件,或在系统中添加新设备。对一台机器的升级主要是对CPU、内存、磁盘等设备的升级。升级是有局限性的,对性能的提高有局限。

  水平扩展:又称向外扩展,是在安装中添加新的服务器并把负载分布在各台服务器之间。该方式可以大幅度地扩展,提高系统的冗余能力,降低扩展成本,是唯一能够处理大量高度集中的请求并保证100%正常运行时间的方法。可以通过Windows2000的网络负载平衡(NLB)来实现。Google就是采用该方式,群集中有数万台PC机。但这种方式使得会话管理变得复杂,传统的ASP将会话储存在内存中,在水平扩展的方式下不能将会话存储在内存中,某服务器从群集中撤出则会话实效。ASP.NET将会话储存在数据库中的技术,使得会话也能在网络负载平衡中使用。该方式能线形的提高网站性能。

  代码优化:是最容易被忽视的提高性能的方式,该方式要求对系统进行全面详尽的分析,了解系统瓶颈所在,何处需要进行优化。比如:在ASP.NET中提供了很多缓存技术,因此需要了解何处使用缓存,是否定义缓存体系的构架,缓存使用是否合理等。此外还要了解页面对数据库调用的次数等。因此,该方式对系统分析人员,代码编写者有较高的要求。

  对上面几种扩展方式有了了解后可以看出最好的扩展方式是:水平扩展。水平扩展在静态HTML的页面服务中可以得到无限的扩展,然而在应用程序对页面进行多次数据库调用时,数据库可能成为瓶颈。此时,服务器扩展的优势会降低。在设计站点时尽可能的靠近静态HTML,适当灵活的使用缓存可以在某一时刻模拟静态HTML,使性能有一定的提高。

0
相关文章