网站系统的优化 网站系统的优化

网站系统的优化

  • 期刊名字:计算机时代
  • 文件大小:145kb
  • 论文作者:吴坚
  • 作者单位:浙江建设职业技术学院
  • 更新时间:2020-09-29
  • 下载次数:
论文简介

●51●Computer Era No. 22006网站系统的优化吴坚(浙江建设职业技术学院,浙江杭州311231)摘要:提高动态网站性能一直是网站开发者努力的目标。文章讨论了影响ASP网站的主要因素,提出了改善这些因素的一些方法,关键词: ASP;动态网站; ADO;优化0引言大的数据在服务器上缓存可提高检索速度。而对经常不用的数提高网站的运行效率、缩短服务器响应时间,这是网站开据的缓存是对内存的浪费。发者和上网浏览者一直关心的问题。除了网络硬件环境外,ASP缓存的对象可以是不经常改变的数据,也可以是组合框、代码本身.网站编程设计技术,如HTML代码脚本语言、ADODHTML代码、扩展标记语言(XML)字符串、菜单项和站点配置访问数据库以及IIS的配置等均影响着动态网页的运行效率。变量等。要缓存数据表达式而不是数据本身。经常变化的ASP页不应缓存(比如整个产品目录),而采用预产生HTML的方法。1优化ASP代码(2) 在Web服务器礞盘上缓存数据和HTML页面1.1网站编程方法的改进在内存中缓存的数据,可以以text或者XML文件格式在()动态网页中创建对象实例的两种方法:第- 一种方法是Web 服务器硬盘上做缓存。也可以混合使用硬盘缓存数据以及用命令SERVER.CREATEOBJECT创建,即建即用;第二种方内存缓存数据,从而达到最佳缓存。法是用先声明,不立即创建。只在需-般情况下,当测试- -个单一ASP页面的性能时.从磁盘要时才使用资源,因此资源利用率比第一种方法要高。取回数据不-定比从网络数据库中取回数据快,但是缓存减少(2) Aplication和Sssion会耗费服务器资源.所以应避免了网络数据库的调用 .在大规模调用时.将明显提高网络的吞使用。吐能力。缓存对于一个费时的查询结果是有用的,比如对于一1.2使用缓存提高访问ASP程序的速度个复杂的存储过程,或者大量的结果数据。缓存是传统的以空间换取时间的做法。充分利用缓存,可ASP和COM提供了几种建立基于磁盘缓冲配置的工具。以大大提高ASP程序的响应速度。正确使用缓存,性能会有显ADO 记录集的Save(和Open0函数负责保存和调入磁盘上的著的提高。记录集。另外还有一-些组件 : Scripting. FilesystemObject允许创[1) 在Web服务器上缓存数据建、读取和写文件;MSXML, Microsoft XML解析器随InternetASP页从后端数据存储中检索数据,然后将结果转换成超Explorer 而来,支持保存和装入XML文档;LookupTable对象文本标记语言(HTML)。从内存或本地硬盘中取回数据比从后(比如 MSN.上使用)是从磁盘调入简单列表的很好选择。台存储设备中取回数据快,因此,使用频率高,或者是计算开销另外,还应考虑缓存磁盘数据的表达式,而不是数据本身。Computing. 2001:274~281and Distributed Proceeding,2001 :369~376[2] Buyya Rajkumar. High performance Cluster Computing6 Barak A,Laadan O, Shiloh A.Scalable Cluster Computing withArchitectures and System. Prentice Hal,000.MOSIX for LinxlJ.Proc.Linux Expo,1999.5:85-100[3] M Colajanni,et al. Dynamic Load Balancing in Geographically[7]郭成城,晏前柳.一种异构Web服务器集群动态负载均衡算法.什算Distributed Heterogeneous Web Servers (RI.Proc.of 18th IEEE机学报,2005 2(28):179-184Int'1 Conf.On Distributed Computing System (ICDCS 1998),[8] Wllim Saling Self- silrity Upsets Data Traffic AssumptionsAmsterdam,The Netherlands,May 1998:295- -303.[J] IEEE Spectrum,1997.6:28- -29[4] lyengar Arun, MacNair Ed, Nguyen Thao. An analusis of Web[91G中国煤化Iapacity of a Web Severserver performance In:Proceeding of Global TelecommunicationsSymposium on InternetConference,1997.3: 1943-1947Ted |YHC N M H GA.UA,1997:61-71[5] asslcicio Emiliano, Tuci Salvatore. Static and Dynamic [10] 昊松涛等.请求速阜对集群Web服务器调度的影响,什算机左用scheduling algorthm for scalable Web server farm.In:研宪,2003.6: 139~140Proceedings of the IEEE 9th Euromicro Workshop on Parllel计算机时代2006年第2期●52●预处理的HTML可以存储为htm或者.asp文件链接直接指向页面的执行效率。它们。使用诸如Xbuilder或者Microsoft SQL Server Intemet(1) ASP网页在执行时要耗费服务器资源,因此只有在必发布类的商业工具,能够自动处理这些过程。而且,可以在.asp要时才使用 ASP页面。能够用HTML或客户端脚本实现的地文件中包含HTML程序片断。同样,也可以使用FileSyste-方就不要用 ASP程序。mObject从磁盘上读取HTML文件,或者使用XML for early(2)网页图像。HTML的页面尽量避免使用图像。加载图像rendering 来做这个工作。时,浏览器要向Web服务器请求调用,这种请求会降低页面的1.3在Application或Session对象中保存经常使用的数据加载速度.进而影响速度。ASP的Application和Session对象为将数据暂存在内存中(3)网页框架。和图像因素相似,在网页里面使用框架也会提供了方便的容器。Session 数据是对每个用户分别存储的,而降低页面的加载进程。Application数据则在所有用户之间共享。使用时可以将数据指(4)网页表格。尽量避免表格嵌套得太多,繁杂的表格会影派到Application和Session对象中,这些数据在HTTP调用之响HTML的执行效率。前保留在内存中。这是对内存中缓存数据的有效补充。应将适5)去除多余的标记符。当的代码分别添加到Application. _OnStart)或Session. _OnStart()(6)减少注释。这将会减少文件的大小,进而提高加载速度。中。这些函数应该在Giloal.asa中,如果没有,可手工添加。(7)避免使用长文件名。在页面里尽量使用相对路径访问数据可以用任何类型的变量存储,如可以保存在字符串或其他文件。整型变量中。从ADO记录集中取出数据需要手工复制数据到2.2优化脚本语言VBScripl变量中,每次一个字段,使用任意-个ADO记录集的(1)控制ASP脚本大小。ASP 脚步本是逐行解释执行的,函数functions GetRowsO,GetString)或 者Save(都非常快速.脚本越长,所需时间也越长。具体操作时可以将程序转换成服简单。使用GetRows)返回记录集数据的数组。务器端的组件。在具体使用时,可以在Application或Session中缓存ADO(2)能用局部变量的,就不要用全局变量。程序运行期间全记录集本身,但是ADO必须是自由线程标记的且需要使用局变量一直保存,占用服务器资源.降低执行效率。discnnected rcordset 方式。否则就不能缓存ADO记录集。(3)处理VBScript程序中的错误。在VBScripl程序中,有当在Application或Session中保存数据后,可以通过函数时 会出现意想不到的错误,这时可以使用on error resume周期性地自动更新数据。next。这条语句会使程序从紧随产生错误的语句之后继续执行,值得指出的是:不要在Application或者Session对象中缓或从紧随最近-一次调用过程的语句继续执行。存大容量的数组,也不要在Application或者Session对象中缓(4) VBScript 程序中的变量声明。VBScript 和JavaScript脚存数据库连接。缓存ADO连接是不好策略。如果一个本没有要求变量必须声明,但是在编写较大程序时,难免会出Connection对象存储在Aplication对象中,并在所有的页面中现拼写错误, 而编译器检测不出,不容易调试。为了避免这种情使用,那么所有页面将争抢这一-连接。如果Connection对象存况的发生,在所有过程和脚本前都加上- -行语句<% OPTION储在ASP Session 对象中,那么将为每个用户创建数据库连接,EXPLICT %>,要求所有变量均须声明,减少拼写错误。这就会使连接池的优势不明显,并给Web服务器和数据库带(5)在VBScript中尽量把对象变量转换成本地变量,因为来不必要的压力。可以不缓存数据库连接,而是在使用ADO的读本地变量比读对象变量要快许多。每个ASP页面中创建和删除ADO对象。这是有效的,因为Is3优化ADO的数据库操作命令内嵌了数据库连接池。更准确地说,IS自动启用OLEDB和选择合适的SQL指令,优化ADO的数据库操作。ODBC连接池,这就能确保在每个页面上创建和删除连接是有(1) ASP最强大和主要的用途之一就是对数据库进行操效的。作,在数据库操作中不要任意使用“SELECT ..形式的因为连接的记录集存储-一个到数据库连接的引用,所以不SQL查询语句。应将连接的记录集缓存在Application或Session对象中。但是,(2)使用复杂的SQL来代替- -堆简单的SQL语句。因为复可以安全地缓存断开连接的记录集,它们不保存到其数据连接杂的SQL语句执行效率高于一堆简单SQL语句。有多个查询的引用。要断开记录集连接,执行下面程序:时,要善于使用JOIN。Set rs = Server.CreateObject('ADODB.RecordSet')(3)尽量避免使用可更新的sQL语句。rs.CursorLocation = adUseClient程序1:rs.Open strQuery, strProvRs=Co中国煤化工WHEREAuthorlD=5",rs.ActiveConnection = Nothing3,3)YHCNMHG2优化HTML代码Rs("Name2.1影响HTML的因素Rs.Update()除了客户端的硬件和网络带宽,下列因素也影响着HTML程序2:●53●Computer Era No. 2 2006strSQL="UPDATE Authors SET Name=' 王一' WHERE数据库服务器的性能。因此“连接池”机制就很有用,它可以在AuthorID=5"一定程度避免连接的经常性建立和中断。Conn.excute strSQL(2)连接超时比较程序1和程序2,功能相同,都是将编号为5的作者姓利用Connection对象的Connectiontimeout属性.可以限名改为“王- -”。但是由于程序1中对数据库总共读写了两次, .制放弃尝试连接的时间,如果连接不成功,则发出错误信息。浪费了时间;而程序2执行-次就够了。(3)胯頁達接(4)更新数据库时,尽量采用批处理更新。将所有SQL组如果有许多,用户需要连接到同一-个 ASP数据库应用程序,成一个大的批处理SQL,并- -次运行, 这比-一个一个更新数据可以将连接字符串置于ASP的Application对象中,重复使用要有效得多。数据库连接。这就是所谓的跨页连接。4优化后台数据库(4)预先编译优化后台数据库,应从两方面入手:数据库存储和数据库在ADO的Command对象中,有一一个Prepared属性.当该连接。属性设为True时,表示已经对数据库查询信息进行预先编译,4.1后台数据库结构这样有利于提高服务器的执行效率。设计一个好的数据库结构可以大大提高程序的运行速度。(5)吴闭遣接假设已经设计好了数据库结构,还可以从以下方面提高程序的要及时关闭打开的记录集对象以及连接(Conection)对象。运行速度:记录集对象和连接对象耗费系统资源相当大,它们的可用数量(1)如果条件允许,最好将数据库服务器和Web服务器分开。有限。如果打开太多的记录集对象以及连接对象而最后却没有(2)在访问数据库时,尽可能地用存储过程而不是SQL查关闭它们,可能会出现ASP程序刚开始的时候运行速度很快,后来询,因为前者已经过了预编译,运行速度更快。同时让数据库返就越来越慢,甚至导致服务器死机的现象。回所需要的数据。5优化ls(3)分配适当的数据库Buffers会提高程序的性能。导致Is服务性能不佳的原因有两个: - 一个是管理员在安(4)尽可能使用SQL Server 而不是Access因为Access是装.配置IIS的时候没有进行优化或者配置错误;另一个则是随基于文件的数据库,共享性能很差。数据库连接尽量使用着运行的服务种类访问人数的增加,服务器的硬件配置已不OLEDB和非DSN方式。能满足要求。(5)建立记录集Rescordset时要合理设置数据游标和锁定(1) IIS高速缓存是对IIS进行优化时要考虑的最重要的手方式。因为在不同的方式下ASP会以不同的方式操纵数据库。段之一。服务器保留了一部分内存空间用作lIs高速缓存,为将(6)数据库索引。合理的索引能显著地提高数据库系统的来的请求存储对象,这样IIS就可从高速缓存中检索对象而不性能。在Where子中出现的字段,应该首先考虑建立索引;为用从硬盘中检索。调整IIS高速缓存的容量需要修改注册表。需要排序的字段建立索引,运行会快些。(2)使us使用处理器时间最长。服务器的CPU处理器能4.2数据库访问力总是有限的。应用程序占用处理器的时间最长,谁的性能就数据库性能优化是指通过某种管理方式提升数据的响应能得到最大的提高。方法是:在NT的控制面板中,双击系统图能力,如建立索引,分布复制等。利用ASP对数据库性能优化的标;单击性能标签;在应用程序性能下将游标拖到None的位主要方式有如下几种: .置。这样就可以使所有正在运行的服务,包括Is,使用处理器(1)共享连接的时间达到最大值。在ADO的处理模式中,应先建立与数据库的连接,这是通(3)服务器属性设置。在服务器属性里有一项可以使网络过ADO的对象Connection 来完成的,它连接到ODBC或应用程序的总处理能力最大的选项,必要时可以选择。OLEDB接口提供的数据源上。Connection对象有非常友好的共享机制,程序开发者可以6结束语创建多个Command对象实例,而只需建立-个Conection对网站系统的优化一直是网站开发者努力的目标,想用一种象实例,多个Command共享- -个Connection决不会引发任何方法或- -种技术或一种工具达到网站系统的优化,是不可能矛盾或错误,甚至这几个Command命令可以存在于多个不同的,也是不现实的。本文只是从网站编程设计技术这个角度来探讨网站系统的优化。具体在开发网站时,需要运用多种技术的Web页面上。和方法“目的。一个Connection与数据源建立连接以后,多个Command中国煤化工就可以通过映像数据库发出不同的查询命令,多个网页可分别参考文建立各自的连接,从而使连接简单、服务器负载下降,效率提[1]张宏MYHCN M H Gg工土出版性.2003.高。除此以外, ADO还有一种称为“连接池”的机制。由于经常[2] 张景峰主编.ASP程序设计教程.中国水利水电出版社,2003.建立和中断数据库,连接的Web数据库应用程序可能会降低[3)] 刘瑞新主编. ASP网络数据库开发机械工业出版社,2004.

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。