计算机应用
COMPUTER APPLICATIONS
1999年 第19卷 第10期 Vol.19 No.10 1999



基于预送技术的Web Server加速
谭振强　陈莘萌　曾颜
　　摘　要　针对因特网浏览服务速度较低的现状，本文提出了一种基于预送Web页面的浏览器加速技术，给出了它的实现方法，探讨了预送页面的时机选择策略与页面选择策略。在实验的基础上对它产生的浏览服务加速效果进行了评估。
　　关键词　预送，响应时间，Web浏览器，Web服务器
THE ACCELERATION TO WEB SERVER BASED ON
PRE-SENDING TECHNOLOGY
Tan Zhenqiang　Chen Xinmeng　Zeng Yan
Department of Computer Science and Technology, Wuhan University, Hubei.Wuhan 430072
　　Abstract　On account of the slow speed of Web Service, the paper introduces a kind of technology to accelerate the Web service based upon pre—sending Web pages . Secondly, we discuss the strategies to select pre—sent pages and to catch suitable time for pre—sending Web pages. Finally, we gave the experiment results and appraised it.
　　Keywords　Pre—send, Respond time, Web browser, Web server
1　Web浏览体系现状
　　Internet的个人用户发展迅速，使用IE或Netscape进入Internet，并通过Web访问世界各地的Web服务器成为一种时尚，然而因特网用户可能都曾体验过响应速度慢的上网浏览经历，因此，采取适当的加速策略提高Web的浏览速度非常重要。
　　导致Web浏览器速度慢的原因主要有几个方面：
　　(1) Web服务器邻近网段负载过大构成整个Web系统的瓶颈；
　　(2) Web服务器负载过重，处理机忙构成整个浏览体系的瓶颈；
　　(3) Web浏览器邻近网段负载过大，该段网络拥塞构成整个浏览体系的瓶颈。
　　构成整个浏览体系瓶颈的三个部分都在一定程度上存在数据突发构成的瞬时拥塞现象，即该段时间上的形成瓶颈可能是因为某小段内的数据传输量很大，而在该小段时间的邻近时间段内的网络负载较轻，整个浏览体系负载在时间上存在不均衡性。
　　瞬时拥塞现象在网络中大量存在。我们在一上网高峰期考察了一网关网络负载情况，在前后几十秒内，该网关的负载不均匀，有时超载，有时空闲。而对Web Server来说，根据当前Web Browser用户使用的Web主页，预测该用户在未来短时间内需要的Web主页是可能的，在适当的时机提前向该用户传送这些主页可以充分利用网络空闲时的带宽，对浏览器用户而言则提高了浏览的响应速度。
2　预送技术的思想与实现方法
　　数据预送的思想是“在响应远程数据请求时，除了向请求方发送该请求所必需的数据外，还传送与该必需数据的相关数据页面”。它基于以下几个条件：(1)根据当前浏览器用户的浏览行为能有效的预测该用户未来将要用到的Web页面。(2)整个浏览体系的瞬时拥塞现象是导致浏览器响应速度低而且变化幅度大的重要原因。(3)浏览器端支持对一定量Cache 的Web主页的缓冲机制。在文献［1］中提出的预送方案主要运用在分布共享存储器DSM中的远程数据处理请求方面，这种预送思想运用到DSM中，能在一定程度上减少远程通信次数、访问次数与计算时间。同样，预送技术运用到浏览器体系中也能减少Web Browser端对Web Server的访问次数，缓和网络通信量，提高Web Server的响应速度。
　　数据预送技术运用到浏览器系统中的具体方法如下：
　　（1） Web Browser将用户在上一主页上的操作信息整理成HTML，依据该操作信息检查相关页面是否在Cache中，如果在Cache中则从Cache中取出相应页面，否则将该操作信息以HTML的形式发送给Web Server。
　　（2） Web Server收到该操作信息后，执行以下操作：
　　① 处理并解释该操作信息。
　　② 确定该请求操作产生的必要Web页面。
　　③ 向Browser端发送必要Web页面。
　　④ 检查该必要Web页面，依据预送时机选择策略确定是否可以预送，如果可以预送，则确定与必要Web页面紧密相关的页面——预送页面，并将其发送给Browser。
　　（3）Web Browser端先将必要页面进行解释，以此响应Web用户，同时把预送页面写入Browser端机器的Cache中。
　　浏览器一般都有Cache机制，在该Cache中存放过去一段时间使用过的一些主页，预送Web主页也可以以HTML格式存于Cache中，实现时只要在浏览时运行一个后台的将预送主页存入Cache中的进程即可，实现方便。
　　Web Server端实现预送机制有两种方法：（1）在编写Web主页时考虑预送机制：当有用户请求某页面时，随即把相应的预送页面送出，这种方法实现浏览器加速是基于Web Server上主页制作者在主页编制时考虑到主页预送而主动实现的，运行效果好但不具有通用性。（2）预送Web页面机制以独立于主页服务程序的状态出现：预送机制以一个通用的浏览服务加速程序来实现，当启动该加速程序后，它自动检测主页使用之间的关联关系，与浏览服务程序并行执行。各进程间运行状况如图1，图1描述了采用第二种方式实现加速预送技术的方法，这个思路适合于开发独立的浏览器服务器端加速软件，具有普遍意义。

图1　浏览体系各进程状态图
3　预送时机与预送页面的选择策略
　　在什么时间进行Web页面预送，选择哪些页面作为预送页面，对预送技术加速效果有重要影响，基于预送思想的Web服务加速需以选择合适的预送时机与预送页面为基础。
3.1　预送时机的选择
　　Web页面预送的最好时机是“服务器端网络有空余带宽，并且服务器处理器并非满负荷”；在这种情况下服务器才能在保证传送必要Web页面的同时有能力传送预送Web页面。当服务器的网络严重拥塞时预送页面会加剧网络拥塞，与必要Web页面争抢带宽，显然会降低Browser端的响应速度，这就要求Web服务加速器根据服务器的负载状况与网络状况选择选择合适的预送时机才能起到加速浏览服务的作用，当服务器及其网络负载较重时降低预送幅度，反之则加大预送幅度。
3.2　预送页面的选择
　　当前因特网的网络带宽不大，如果预送页面的有效率高，则在整体效果上就是把用户要用到的必要Web页面提前传送，并不会加剧网络拥塞，相反的会因为Web Browser减少了对服务器的访问次数而缓和网络拥塞状况。如果预送的Web页面有效率低，则实际上是传送了大量无效Web页面，这不仅不会提高浏览器响应速度，而且会因为加大网络负载引起网络传输速度降低而降低响应速度。所以预送页面必须保持较高的有效率。预送页面有效率决定了预送技术能否取得加速效果。
　　预送页面的选择有几种方式：
　　① 在Web Server的服务程序中固化必要Web页面与预送Web页面的关联关系；即构造页面关联表如表1，并在该表内保存固定的页面关联。服务器以该页面关联表为依据确定预送页面。
表1　页面关联表

必要Web页面号预送Web页面号集
1{ 2,3,4 }
……
N{ np1,np2...... }

　　② 依据页面被访问的历史决定预送页面；即在服务器空闲时间段里，利用数据挖掘技术［2,3］，将满足一定支持度与可信度的“必要Web页面号→预送Web页面号”关联提取出来，刷新页面关联表。它能作为独立Web加速软件的主页关联关系发现的办法。
　　两种预送页面选择策略各有一定的适用范围，可根据实际情况选用。
4　应用效果与特点
　　Web页面预送技术的一个典型应用就是网上免费邮件服务，统计表明90%以上的用户在免费邮件服务的Web页面上登录后，只要邮箱里有信件，就会进一步读信件，因此对该免费邮件服务器而言，只要发现有合法用户登录，根据预送思想就可马上将该用户的信件送给该用户，而不用等到该用户发出读信件指令。
　　当Web Server的处理能力较强且Web Server端网络高带宽，而浏览器体系其它部分带宽较窄的情况下，预送Web页面产生的加速效果最佳。上述情况在实际网络应用中是比较常见的。比如教育网与电信网之间由于互联的带宽较窄，构成了教育网上Web Browser访问电信网上Web服务器的访问瓶颈。
　　我们如果简单的设每个页面满足一个请求操作，每个必要Web页面平均有n个有效的预送Web页面，那么原本要对该Web服务器的N次访问次数减少到N/(n+1)次左右。它实际上是“根据对用户所需Web页面的预测，向用户发送短期未来可能的用到的Web页面”。“充分利用网络在整个时间段的带宽”即在Web Browser端并未发出Web请求时，Server也向该Browser传送它极可能用到的Web页面。这就比较充分的利用了整个时间段上网络的带宽，缓和了网络瞬时拥塞状况。虽然预送Web页面可能产生无用页面传送，但减少了Browser向服务器发送请求的次数，同时加快了Web Browser的Web页面请求响应，在采用预送技术后，一旦Web服务器提高主机性能与其网络带宽就能明显提高服务器的服务质量，缓和远程Browser端低带宽网络带来的瓶颈，改善“高性能Web Server+高带宽Web Server网络+低带宽Web Browser网络”类型的Web体系的整体应用效果。
5　模拟实验与比较结果
　　我们在局域网做了模拟实验。首先，我们采用一台设置有若干主页的PC机作为Web Server，为了在高速局域网上模拟相对低速的互联网，每一个主页的容量都很大，并且每个主页的容量大致相等。在另一台装有NT操作系统的主机上运行Winproxy软件，主板上两块网卡一块连Server，一块连到Hub上，构成网关，它最多同时代理五个连接。另外有7台PC机连到该Hub上，运行浏览器软件，作为浏览体系的Browser端。每一个Browser按一定顺序访问Web服务器，每两个操作之间有一定时间间隔。采用固化Web主页访问关联表的预送策略，平均每个主页有2.2个相关的预送主页，预送主页的有效率为81%。进行采用预送技术与不采用预送技术的比较实验，实验结果分别如表2所示：
表2

　不采用预送技术的实验结果采用预送技术的实验结果
访问序
列序号使用
页面平均响应时间
(单位:2秒)访服务
器次数传送
页面平均响应时间
(单位:2秒)访服务
器次数传送
页面传送无
效页面预送页面
有效率
1141.0514140.71516281.8%
2151.115150.69518376.9%
3141.0814140.72517375%
4150.9215150.64516190.9%
5151.115150.68517283.3%
6141.1514140.63416283.3%
7130.9513130.61515280%

　　实验结果表明，采用预送技术后，能使平均响应时间缩短35%左右，Web Browser端向Web Server端的访问次数减少67%，取得比较明显的加速效果。采用预送技术对Web浏览体系加速的进一步研究工作是在互联网上实际考察运用预送技术的加速效果，并对两种预送策略的使用范围与效果进行检验分析。
6　结束语
　　本文提出了一种基于Web页面预送的Web服务加速技术，讨论了它的具体实现办法与相关预送策略，最后通过实验比较了采用预送技术与不采用预送技术的浏览器体系性能，我们认为这种浏览器加速技术能有效提高浏览器服务质量，具有一定的实用价值。
作者简介：谭振强　硕士研究生。主要研究分布式计算系统、分布并行算法。
陈莘萌　教授，博士生导师。主要研究分布并行算法。
曾颜　硕士研究生。主要研究分布式计算系统、分布并行算法。
作者单位：武汉大学计算机科学与技术系　湖北.武汉（430072）
参考文献
［1］　谢向辉,韩承德,唐志敏. 分布式共享存储系统中的数据预送技术.计算机学报,1999； 22(3):241-248
［2］　叶阳东,姬安明，等.相联规则发现的一般性算法研究.计算机科学,1997；24(4):47-48
［3］　王清毅, 陈恩红, 蔡庆生. 知识发现的若干问题及应用研究. 计算机科学，1997；24(5):73-77
收稿日期:1999-04-28
