综上所述,在进行WEB应用开发时,要根据WEB网站的规模、用户访问量以及要求的响应时间几个指标来规划网站的结构模式,由于INTERNET技术的发展,第一种模式现在很少采用,它已不能适应当前的用户基本要求,对于第二种模式,要分情况对待,对于访问量很低,信息量不大,对系统稳定性要求不是很高的情况下,可以采用这种模式,因为这种模式对编程人员的素质要求不是很高,并且开发周期快,比较适用于企业内部的INTRANET或一些访问量不大的中小网站。对于一些大型的门户网站或大型的电子商务网站,由于用户访问量非常大,并且对系统的安全性以及稳定性要求都十分严格,在电子商务网站中,对数据的严谨性要求也是非常严格,因此,在这几种情况下,第三种结构模式就是非常适合的了,对于百灵网站来说,不管从用户数量、安全性及稳定性哪方面考虑,都应该采用这种模式。
二、 WEB应用系统的优化
有了很好的WEB体系结构,对于网站的建设及应用只是成功了一半,就好比建一座大楼,有了一个好的地基,这只是成功建设这座大厦的基础,要将这座大厦建造完成并且能够让人们搬进去办公或居住,就必须严把质量关,建设装修好每一层大楼,任何一层出现质量问题,都会影响到整个大厦的质量,对于WEB应用的开发也是一样,任何一个环节出现问题,都要影响整个WEB站点的性能,下面就这一问题我们进行一下讨论。
事实上,不管是在开发一般的分布式多层应用系统,还是分布式的WEB应用系统,或是电子商务应用系统,有三个非常重要的因素影响着系统的执行效率,这三个因素分别是:
1、数据库的连接
数据库的连接一直是一个非常耗时的工作,建立一个数据库连接,最快的连接一般需要1-2秒,慢的需要5-8秒,甚至更长一些,这将严重影响系统对用户请求的反应速度,特别是在用户数据很大并且并发访问很多的情况下,这种性能下降将是非常的明显。
2、构件或中间件的加载与卸载
在WEB系统中使用分布式的对象时必须先创建它们,在使用完后又必须释放它们,建立和释放这些对象也需要时间和系统资源,因此,它们可以成为WEB应用系统的执行瓶颈。 3、线程的重复使用
大家都知道,CGI类型的应用程序总体说来要比ISAPI类型的应用程序效率低一些,原因就是CGI在每次用户请求时都需要重新加载,而ISAPI则只有在第一次请求时需要加载,以后将常驻内存,这也就省去了应用程序的加载时间,同样问题,在应用程序中创建新的线程也是需要耗费时间的,假如能够做到对线程的缓冲,这样也就节省不少系统资源,加快应用程序对用户请求的反应速度。
以上三个因素是最明显的影响系统性能的因素,如何解决这些问题,以及解决的成功与否是提高WEB应用系统性能的关键。幸运地是现在的大部分软件已供了一种pooling技术,也就是缓冲技术,来解决这些执行效率的瓶颈问题。在这三个因素中,数据库的连结是最慢最耗时的动作,因此我们可以通过共享(pooling)数据库的连结来加快系统的执行效率,现在大部分最新的数据库系统已经提供了pooling技术,我们在应用时应尽量选择具有这一功能的数据库产品,在数据库安装时或在设置数据库连接时,应该打开相应的pooling选项,以达到共享连接的效果,缩短WEB应用的数据库访问时间。
关于分布式对象以及线程的pooling技术,则要在具体开发这些对象时实现,实现方法与具体的开发工具有关,单纯地用ASP脚本来开发的WEB应用系统是不可能达到对象的pooling和线程的pooling的,通过数据库引擎的支持,或许可以做到数据库连接的pooling,比较好的一种实现方式就是WEB服务器结合MTS中间件的实现方式了,MTS让WEB应用系统具有良好的扩展性与安全性,并且它提供了数据库连结pooling、线程pooling技术支持,甚至在COM+中提供了对象的pooling支持,因此可以有效地减少WEB应用程序需要取得这些资源的时间,进而增加WEB应用程序的执行效率。
综上所述,在Web应用系统开发时,既要重视网站应用系统的结构模式,又要重视Web应用系统的性能优化,有了良好的系统结构,就可以保证信息通道的通畅,减轻Web服务器的负担,同样,优化系统的性能,打通各个阻塞环节,消除其中的瓶颈效应,这样才能保证应用系统长期、稳定地运行,保证对每一个用户都以最快的速度响应。 以上只是我个人的一些粗陋之识,有不正确之处,请指正。
全文共2003字节 |
|
|