




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、背景性能是Web应用程序成功与否的关键因素,响应时间则是性能的一个重要指标,尤其是从用户的角度来看,随着同时访问的用户数的增加,Web应用程序的响应时间也会相应增加,当其增加到用户无法接受的程度时,用户便会失去耐心而离开该网站。根据Zona Research的研究指出,如果使用者等待下载网页的时间超过8 s,将有30的用户选择停止浏览网页,同样的研究表明,如果下载网页的时间缩短1 s,则这个数字将从30降低到8。由此可见终端用户所感到的时间延迟(user-perceivedlatency)已经成为今天Internet的主要性能问题。在网络带宽并没有得到相对扩充、网络流量绝对增加的情况下,找到一些有效的办法来缩短整个网络对用户请求的响应时间,就显得愈发重要。针对这一问题,我们从以下几个方面进行了调研与探索,从而加速网络对用户的反应速度,缩短用户感知的时间延迟。二、缩短响应时间的方案2.1 优化数据访问对数据的访问速度很大程度上影响应用系统的性能,如果被请求的页面是一个静态页面或只有一小部分内容需要从数据库中提取,则它的加载速度比那些需要从数据库中大量读取数据或不断从数据库接收和更新数据的页面要快,因此,对于动态的页面来说,对SQL层数据处理的优化就显得非常重要。在Web开发中,除了传统的改善数据库结构和优化SQL语句外,主要从以下的几个方进行优化。2.1.1 使用XML技术采用XML(可扩展标记语言)技术,可将查询的结果生成XML文件保存在Web服务器上,使客户端能够直接和XML文件进行交互,以节省访问数据库的资源;同时也可以将XML传送到客户端,在客户端恢复为数据集,此后就可以直接在客户端进行一些操作,而不必和服务器交互,建立非连接的数据访问以节省时间。这里采用以下的算法过程利用XML技术实现对数据库的访问。 (1)建立数据库连接,生成查询结果数据集(DataSet); (2)用XmlDataDocument将查询结果集(DataSet)以XML形式保存在Web服务器的指定目录下,同时断开数据库连接; (3)一旦用户发送访问请求,首先查询Web服务器指定目录下是否有满足条件的XML文件,如果存在转(4),否则转(1); (4)创建XmlDataDocument对象,并用其Load方法加载该XML文件; (5)利用XPath或者XQuery查询技术,查询已加载的XML文件,生成相应的结果集。从上面的过程可以看出,一旦有用户发送查询请求,首先将数据库服务器中的数据转化为XML文档,保存在Web服务器上,然后查询XML文件中的数据,获取查询结果。之后如果有新的请求查询相同的记录时,可以直接从Web服务器的XML文件中提取数据而不用再访问数据库。这对于用户频繁的查询汇总操作中,优势非常明显,且效率很高。这种思想在逻辑上将数据的生成和操作分开,同时节省了和数据库服务器建立连接的时间,将其转换为对服务器端XMl文件的读取,有效地减轻了对系统数据库服务器的负荷。3.1.2 使用连接池建立Web应用程序与数据库之间的TCP连接时,DBMS(数据库管理系统)需要为其分配多种资源,而在释放连接时,DBMS需要释放掉这些资源,分配和释放资源都是比较耗时的工作,因此反复建立和释放连接势必会影响整个系统的性能。实际上,大多数应用程序仅使用1个或几个不同的连接配置。这意味着在执行应用程序期间,许多相同的连接将反复地打开和关闭。为了使打开的连接成本最低,ADO.NET使用连接池的优化方法。连接池技术能够能重用到数据库的连接,而不是每次请求都建立新的TCP连接,新连接仅在连接池中得不到连接时才建立。当连接被关闭时,它被返回到连接池中,在那里它仍然保持与数据库的连接,与完全断开TCP连接相反。池进程保持物理连接的所有权。通过为每个给定的连接配置保留一组活动连接来管理连接。只要用户在连接上调用Open,池进程就会检查池中是否有可用的连接。如果某个池连接可用,会将该连接返回给调用者,而不是打开新连接。应用程序在该连接上调用Close时,池进程会将连接返回到活动连接池集中,而不是真正关闭连接。连接返回到池中之后,即可在下一个Open调用中重复使用。池连接可以大大提高应用程序的性能和可缩放性。默认情况下,ADO.NET中启用连接池。除非显式禁用,否则,连接在应用程序中打开和关闭时,池进程将对连接进行优化。2.2减少网络通信量数据传输量的大小是决定显示响应速度的必要前提,数据传输量是指在客户端Web浏览器和Web服务器之间传送的数据量。我们可以通过减少网络的通信量:减少IE浏览器和Web服务器层之间的数据传数量,缩短用户感知时间。2.2.1 使用缓存技术Internet的统计表明,超过80%的用户经常访问的是20%的网站的内容,在这个规律下,缓存服务器可以处理大部分客户的静态请求,而原始的服务器只需处理约20%左右的非缓存请求和动态请求,于是大大加快了客户请求的响应时间,并降低了原始服务器的负载。合理有效地设计和使用缓存是优化应用系统性能的重要手段,在基于Web的支持大量用户的系统开发中,这一点尤为明显。利用有效的缓存,可以避免Web服务器与数据库之间的网络往返,绕过占用很多资源的计算,并节省服务器资源,同时改善响应时间和等待时间。缓存服务是一种提高服务器性能、降低服务器资源浪费的有效方法。对于安全性要求高的应用程序,采用在WEB服务器上维护缓存数据的方式可以有效地提高页面性能。缓存实现了最近最少使用(least-recently-used)替换算法,而且允许强制缓存清除操作如果可用内存下降到低水平则自动从缓存中删除不使用的项目。另外缓存支持依赖性到期特性,它能强制包括时间、键值、文件失效。多级缓存的体系结构如图3所示。2.2.2 避免服务器和客户端的交互HTTP是用于客户端和服务器之间进行信息传输的协议,它是一种请求响应类型的协议:客户机向服务器发送请求,服务器收到请求后进行处理,对这个请求作出回答。Web浏览器包含了许多的HTTP请求,每一个请求对应一个小型文件,HTTP对每一个HTTP请求需要建立1个独立的TCP连接。因此,客户端的每次请求将会引起客户端和服务器间的一次通信,频繁的操作势必对系统的响应时间造成严重的影响。为避免不必要的TCP连接建立,通常只需在向服务器查询或更新数据时才触发客户端与服务器之间的信息交互。能在客户端执行的数据操作应尽可能的用客户端脚本(如Javascript)实现。例如,对用户输入数据的校验,应该尽量在客户端进行校验,再将数据提交给服务器。2.2.3客户端缓存上面提到数据缓存在服务器端有很多好处,可以减少IE浏览器和Web服务器层之间的数据传数量,然而有的时候我们为了提高性能我们要把有些数据缓存到客户端,也可以减少网络通信量,从而用这种机制来达到缓解服务器压力。在客户端缓存网页或者其他网络资源(图片,脚本,样式表,等)的好处是显而易见的:避免了不必要的请求,从而增加访问速度;而且减少了响应的数据量,从而减少带宽。减少网络带宽不仅意味着访问速度的提高,在当网络带宽不是完全免费的情况下,也有着显而易见的好处。在HTTP/1.1的RFC中,也提到通过适当使用缓存,HTTP协议中定义了三种类型的缓存机制:Freshness: 允许客户端无需检查原始服务器上的内容就缓存当前响应,常用的是Expires和Cache-Control。Validation: 允许在当前缓存的内容“过期”后检查原始内容是否已经更新,比如 Last-Modified 和 ETag。Invalidation: 允许在访问同一个资源时使之前的缓存内容失效,比如对同一个资源的 POST,PUT 或者 DELETE 请求就会使之前的缓存失效。例如Expires可以指定缓存的过期时间,指定内容的过期时间是最简单的实现客户端浏览器缓存的方法。Expires指定一个时间,告诉浏览器相应的内容在指定时间之前都不会发生变化。浏览器因此也就不需要重新请求文档内容,只需从缓存中读取相应内容就可以了。如果不希望浏览器缓存当前内容,可以把Expires设置为一个过去的时间。再例如Last-Modified相应头指定一个时间,告诉浏览器当前文档最后修改时间。浏览器下次访问该文档时会包含一个 If-Modified-Since字段,目的是告诉服务器,只有请求文档的最后更新时间大于指定时间时,才需要服务器重新传送文档内容。 If-Modified-Since的值来自浏览器收到的Last-Modified值。2.3 对象包装大部分的网页都是由许多小的文件(小于16K)组成的,这是通过对象包装进行web文件传输的一个大前提。服务器端的大多数开销都来自于操作系统从本地磁盘中检索被请求文件的开销,如果锁清秋的文件数减少了,则服务器端的开销就减少了,通过避免包的残片,从而在网络中要传输的包也减少了。所以我们提出通过对象包装来进行web文件的传输,对象包装是在一个主页上的web文件的集合,包装在一个未压缩的存档文件里。这样多个文件,例如HTML文本和图片文件等,就可以被包装在一个对象包装文件里,从而提高传输的效率。主页上的文件是按顺序地被包装的,并不经过压缩,这样可以避免在接收端解压的开销。对象包装可以通过独特的文件扩展名来标识,接收时,客户端解包装在对象包里的文件。对象包装的格式我们提出的新的传输机制-对象包装,可以减小web浏览的响应时间,不仅减小了传输路径上路由器处的开销,还减小了web服务器处的响应时间。对象包装旨在解决web文件传输中,两大不同的问题:文件获取开销和协议处理开销。实验表明经对象包装后的文件传输可减少34.7%的响应时间、40.1%的传输字节数、和7.1%的包。2.4最小期望响应时间(MRT)分布式web缓存机制Web缓存是提高web服务性能和质量的一个标准方案,然而单点缓存的效率很低,在web中的缓存命中率只有40%甚至更低。通过把单个的缓存节点扩展为协作的缓存集合,支持在多个缓存服务器间的数据共享,从而能提高web caching的有效性,提高缓存命中率,缩短响应时间。协作缓存系统有两类:分层的和分布式的。分层的缓存服务器架构在缓存服务器中定义了父级和兄弟级的关系,如果一个缓存服务器不能响应某个HTTP请求,它先检查它的兄弟缓存服务器是否可以响应,如果它们也都无法响应,则此请求被传递给它的父缓存服务器,然后一层一层的往上传递。如果最终的根缓存服务器也没有所请求的页面,她就把请求转发给web 服务器。分布式的缓存服务器架构,与分层的架构相反,它允许所有的缓存服务器以对等的关系来共享数据。我们还提出一种新的分布式缓存方案,称为最小期望响应时间(MRT)分布式web缓存机制。它在一个分布式的web缓存系统中,使用内容感知层5转换,透明地把可缓存的HTTP请求以最小的响应时间重定向到缓存服务器中。基于缓存服务器的内容、负载,web服务器的负载和网络延迟的结合,试图最小化HTTP响应时间,并且在各个缓存服务器中进行负载均衡。仿真证明,在平均HTTP请求响应时间方面,MRT能提供增强的缓存协作,从而提升性能,优于现存的分布式web caching机制。2.5动态流添加SCTP协议SCTP(Stream Control Transmission Protocol,流控制传输协议):是IETF新定义的一个传输层transport layer协议。是提供基于不可靠传输业务的协议之上的可靠的数据报传输协议。SCTP的设计用于通过IP网传输SCN窄带信令消息。SCTP是一种可靠的传输协议,它在两个端点之间提供稳定、有序的数据传递服务(非常类似于 TCP),并且可以保护数据消息边界。SCTP主要的贡献是对多重联外线路的支持,一个端点可以由多于一个IP地址组成,使得传输可在主机间或网卡间做到透明的网络容错备援。当前的SCTP旨在初始连接建立阶段创建流,之后流不能被修改。当同时地用多流传输web对象时,由于大的对象占用了流,而小的对象没有可分配的流,所以会引起不必要的等待。我们提出对SCTP的扩展,来支持在通信中动态流的添加,叫做动态流添加SCTP(DSA-SCTP,Dynamic Stream Addition SCTP ),在通信过程中,一条连接的两端都可以动态地添加新的出去的流和进来的流。当需要匹配一个突发性对象并发传输时,动态流添加可以根据应用程序的需求来创建新的流,从而在web应用中,可以减少web服务器的响应时间。仿真证明,提出的DSA-SCTP会显著提高web服务器的响应时间。2.6在web服务器集群中使用协同调度使用服务集群,尤其是分布式的web服务器已经成为提升吞吐量和响应时间的一个重要研究方向,一些大的服务商已经开始利用大量的PC集群来处理海量数据。虽然提升吞吐量已经成为所有分布式或基于集群的web服务器设计的主要动机,然而用户层的通信也对服务性能有着很大影响。用户层通信机制,例如VIA(虚拟接口架构)能显著最小化通信的开销。PRESS模型首先分析了用户层通信对分布式web服务的影响,PRESS模型的客户端通过在快速以太网上的TCP与集群进行通信,集群内的通信使用在cLAN上的VIA。由于集群内通信成本很低,多以从远程缓存处读取一个文件比从本地磁盘读取要快,而且节省成本。实验显示,PRESS与TCP/IP相比,能提高29%的服务器吞吐量。基于以上集群和PRESS的特点,我们提出一种协同调度的PRESS模型,它能使用任何的协同调度算法来更快的通信。在PRESS中,发送线程和接收线程处理了所有的集群内通信,我们把集群内通信分成远程缓存和远程紫攀接入两种。使用远程缓存发送线程和远程缓存接收线程来处理对一个缓存缓存的请求,远程磁盘发送线程和远程磁盘接收线程则支持对远程磁盘的访问。对缓存访问和磁盘访问分离,是因为远程缓存访问使用了用户层通信,比磁盘访问快得多。我们还可以通过在两个节点处协同调度所需的进程来最小化通信的延迟,从而缩短响应时间。但是远程磁盘访问比较耗时,所以可能不会利用打牌协同调度的优势。我们的方案利用了用户层通信和协同调度的优势,研究使服务器响应时间最小化的可行性。基于PRESS的设计,使得远程的缓存访问能在不同的节点处被协调调度,从而减少了响应时间。仿真结果表明,通过协同调度通信进程,分布式服务器的平均响应时间能显著减小。2.7 SWIFT(在web服务器中调度以获得快速响应时间)这篇文章解决了如何快速的对web请求作出服务,来最小化客户端的响应时间。在web server中使用现在流行的最短剩余进程处理时间调度(SRPT),用来对平均响
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件智能AI教学课件
- 广东会计初级自考试题及答案
- 历年护理考试题及答案
- 礼仪学堂考试题及答案
- 乐器辅助考试题及答案
- 广东房屋构造自考试题及答案
- 康复基层考试题及答案
- 钼钨冶炼辅料制备工适应性考核试卷及答案
- 信息安全管理员职业考核试卷及答案
- 混凝土浇筑工数字化技能考核试卷及答案
- 火灾调查第四章-火灾痕迹物证课件
- 大型医院耗材管理SPD系统
- 精选提高脑卒中偏瘫患者良肢位摆放的正确率品管圈讲义
- 大金龙纯电动车hvcm及bms外网协议
- GB/T 8295-2008天然橡胶和胶乳铜含量的测定光度法
- GB/T 19960.1-2005风力发电机组第1部分:通用技术条件
- 生产作业管理讲义
- 二年级上册《树之歌》优秀课件
- 锅炉安全技术规程
- 初中音乐《快乐的女战士》《水草舞》课件
- 易制毒化学品岗位责任制度
评论
0/150
提交评论