【JSP开源代码栏目提醒】:网学会员,鉴于大家对JSP开源代码十分关注,论文会员在此为大家搜集整理了“Web服务器性能测量系统的研究进展 - 期刊论文”一文,供大家参考学习!
计算机科学 2007Voi. 34N. 4 Web 服务器性能测量系统的研究进展 :) 姚 磊 戴冠中 张慧翔 潘文平 ( 西北工业大学自动化学院 西安 710072) 摘 要 本文首先讨论了 Web 服务器测试的重要性及性能测试的一般原理;接着研究了现有的 Web 服务器测试系统, 包括 WebStone、SPECWeb99、S-Ciient 和 SURGE;分析了它们的优点和不足之处;最后指出了 Web 服务器性能测试系统的 发展趋势和需要进一步研究的问题。
关键词 Web 服务器,测量系统,自相似 Survey of Measurement Systems for Web Server Performance YAO Lei DAI Guan-Zhong ZHANG Hui-Xiang PAN Wen-Ping ( Coiiege of Automation,Northwestern Poiytechnicai University,Xi’ 710072) an Abstract In this paper,we first discuss the importance and principies of Web Server testing,and then describe the existing Web Server test system,inciuding WebStone,SPECWeb99,S-Ciient and SURGE. Their strengths and weaknesses are anaiyzed the in detaii. In conciusion, deveiopment of Web Server performance test system and the further research aspects are pointed out. Keywords Web server, measurement systems,Seif-simiiar 模拟的情况要与互联网的真实情况一致。
一个负载发生器可quot 引言 以模拟多个用户,向一个服务器发出请求,如图 1 所示。
随着基于 Web 的互联网应用越来越广泛,越来越多的工作 首先,服务器上要放置一些符合一定分布的文件,具体分都依赖于高质量的 Web 服务。
如何提高 Web 服务器的性能、服 布在后文中详述。
负载发生器会模拟大量用户,请求服务器上务质量等问题成为现在研究的热点。
为了解决以上问题,必须 的文件。
服务器把响应结果返回到模拟的客户端。
负载发生对 Web 服务器进行测试,取得测试结果,根据结果有目的地改 器要具有鲁棒性,例如对服务器上文件找不到等情况进行处进服务器的性能指标。
所以,如何模拟互联网上用户的请求来 理。
是提高 Web 服务器性能的首要工作。
测量服务器, quot 几种 Web 服务器测试系统 ( 负载发生器 Workioad Generator)可以模拟互联网上大量用户的请求,观测 Web 服务器对大量的、变化范围很大的负载 目前广泛采用的 Web 服务器性能测试工具主要有 Web-处理情况。
然后可以找到 Web 服务器存在的问题,为解决问 Stone 和 SPECweb99,常见的还有 S-Ciient 和 SURGE。
题提供依据,并可以测试改进后的 Web 服务器性能。
. quot WebStone 〔3, WebStone 13〕被看作第一代 Web 服务器性能测试工具。
quot 性能测试系统的一般工作原理 WebStone 是由 SGI 开发的网络测试软件,运行在 UNIX 环境下 ( 的
开源 Open Source)软件。
3. 1. 1 WebStone 的工作原理 WebStone 测试 Web Server 的两个性能指标:每秒请求数 ( Reguest per Second) ( 和延迟时间 Latency)。
WebStone 的工作 〔3〕 原理如图 2 所示 。
服务器上放置 32 个大小不同的文件,测 试时对测试软件进行配置来模拟大量的客户端。
模拟的客户 端对服务器上的文件发出请求,从请求响应的结果中可以测量 出服务器的性能指标。
WebStone 是通过模拟多客户行为在 Web Server 上产生负 载的,其功能是从服务器上获取特定的文件。
为测试 Web 服 务器 的 性 能,WebStone 采 用 一 个 Webmaster 程 序 控 制 多 个 图1 性能测试系统的一般工作原理 WebCiient 程序。
Webmaster 是一个控制所有网络客户机的程 在互联网上,客户端与服务器是不对称的,数据的传输量 序,可运行在客户计算机上或者任何独立的计算机上。
Web-也是不对称的。
一个服务器服务于多个客户端。
负载发生器 Stone 可以在一台计算机上运行超过 100 个的 WebCiient,而且:)西北工业大学研究生创业种子基金 Z200562) ( 。
姚 磊 博士研究生,主要研究方向为网络化控制和流量控制;戴冠中 教授、博士生导师,主要研究领域为网络化控制、信息安全;张慧翔 博士研究生,研究方向为流媒体传输控制、拥塞控制;潘文平 博士研究生,研究方向为网络服务质量。
· 86·为了在对服务器上产生足够的负载,可以将 WebCiient 分布在 SPECWeb99 的工作负荷包括静态和动态的两种。
同一网络中的不同客户计算机上。
静态工作负荷模拟 Web 服务器中大量的不同页面。
测试 使用大小不同、且被访问概率也不同的文件代表真实 Web 服 务器上的页面。
文件的大小和访问概率是通过分析真实 Web 服务器上的数据得到的。
工作负荷文件集包括了大量的目录, 目录的数量由下式给出: ( 目录数 25 (400000. 0 / 122000. 0) / :并发连接数) 5. 0 〔6〕 每个目录中都包含 4 类文件,如表 1 所示。
每类文件的 〔2, 19〕 中每个文件的访问概率符合 Zipf 分布 9, 。
即如果将文件 按照被引用的次数 从高到低排名,则文件的排名 quot 和被引用 次数 有如下关系:匀quot - 1 , gt 0。
图2 WebStone 的工作原理 表1 4 类文件的比例 首先,WebMaster 产生出描述客户端的配置文件,并把这 文件大小 ( 百分比 )个文件传给所有的 WebCiient。
WebCiient 根据配置文件创建 0 - 1kB 35. 00 每 以多个子线程, 个 线 程 产 生 HTTP 请 求, 一 定 的 概 率 访 问 1 - 10kB 50. 00Web 服务器上的某个文件。
服务器返回结果后,子线程立刻开 10 - 100kB 14. 00始下一次访问请求。
所以,这种连续的访问是一种压力测试, 100KB - 1MB 1. 00可以得到 Web 服务器对重压的反应特性。
〔16 3. 1. 2 WebStone 的不足 动态内容是网站页面中一个重要的部分 18〕。
动态工作 WebStone 是一种压力测试工具,只是尽可能多地产生请 负荷是模拟 Web 服务器的两个特点:广告和用户注册。
动态求序列。
文〔4〕指出,忽视 OFF Time,尽可能快地发送请求,不 负荷分为 4 类:标准的动态 GET dynamic GET) 带用户广告的 ( 、可能产生具有自相似特性的请求序列。
( 、 动态 GET dynamic GET with custom ad rotation) 动 态 POST 文〔5〕指出,WebStone 在服务器上放置 32 个文件。
这些 、 ( ( dynamic POST) 调用 CGI
代码的动态 GET dynamic GET caii- 〔6〕文件被一次次地传输,可能存在于 CPU 或文件系统缓存中,忽 , ing CGI code) 它们占全部工作负荷的 30 。
表 2 总结了不视掉磁盘的 I / O 时间,导致错误的结果。
同类型请求在混合工作负荷中的比例。
对 Web 服务器测试的深度与广度不够。
WebStone 的测试 表2 不同类型请求占总负荷的比例指标只有两个,反应不出平均完成一个请求需要的时间,而这 请求类型 ( 百分比 )个指标在评价电子商务之类应用的 Web 服务器是非常重要 Static GET 70. 00的。
Dynamic GET 12. 45 并且 WebStone 只能处理静态页面,不支持对动态页面的 Dynamic GET with Custom ad rotation 12. 60访问。
Dynamic POST 4. 80 . quot SPECweb Dynamic GET caiiing CGI code 0. 15 〔6, SPECWeb99 14〕是 SPEC Standard Performance Evaiuation (Corporation,标准性能评测协会)开发的 Web 服务器性能基准 3. 2. 3 SPECWeb99 的局限性测试,被看作现行的工业标准。
( , 虽然在连续的请求之间引入了睡眠时间 OFF time) 但是 3. 2. 1 SPECWeb99 的工作原理 睡眠时间的长短并没有用类似 Pareto 分布或随机中点置换法 SPECWeb99 测量的指标是:在预定的基准测试工作负荷 故 RMD 等可能产生自相似的模型来控制, SPECWeb99 中产生 〔7〕下,仍然满足一定的吞吐量和错误率要求下最大的并发连接 的请求序列与自相似相差甚远 。
数。
使用一个或多个客户系统为服务器产生工作负载。
每个 SPECWeb99 主要测试 Web 服务器在保证一定数据传输率客户发送 HTTP 请求到服务器,然后验证接受到的应答。
在 的前提下能维持的连接数,但是往返时间也是一个关心的重HTTP 请求序列发送完毕后,主客户搜集来自所有客户的数 点。
往返时间是完成每个请求所需的平均时间,并不是每秒请据, 计算本次测试的结果。
类似的过程进行 3 次,最后的测试 求数的倒数。
报告就是 3 次测试结果的综合 〔6〕 。
负载强度不够。
由于产生的流量不具有自相似性,所以当 各 在测试过程中, Ciient 上的进程在读来自 Server 的应答 ( 客户机增多时 就是客户线程增多时)突发负荷将被吸收掉,时,接收单元的大小不能超过 1460Bytes。
加上长度为 40Bytes 从而导致服务器不能工作在明显的高负载条件下。
的 HTTP 头,即最大传输单元 MTU( Maximum Transmit Unit) . S-Client 〔8, 22〕 ( 1500Bytes。
最大段生存时间 Maximum Segment Lifetime)被 S-Ciient 21, ( Scaiabie Ciient) Rice 大 学 开 发 的 一 个 是确定为 60s,因为缩短这个时间会导致人为地提高服务器的性 ( Web 服务器性能测试工具。
它能产生突发的流量 bursty traf- 〔15〕能 。
, fic) 负载的峰值可以超出服务器的处理能力。
可以观测在这 对每 个 连 接 而 言,只 有 在 满 足 数 据 传 输 速 率 在 320 种高负载的情况下 Web 服务器的性能指标,主要是服务器的400kbps 之间的要求时,此连接才可计入最大同时连接数。
吞吐量。
在一次测试中,只有当测出的最大同时连接数不小于指 3. 3. 1 S-Ciient 的工作原理 〔8〕定最大同时连接数的 95 时,才可以认为该次测试正确。
基本的测试结构如图 3 所示。
P 个客户机连接到被测 3. 2. 2 SPECWeb99 的工作负荷 的服务器。
每个客户机运行一定数量的 S-Ciient 进程。
客户 · 87· (机通过一个路由器 Router)与被测服务器连接。
这个路由器 Boston 大学 的 Paui Barford 和 Mark Croveiia 提 出 的。
严 格 地必须有足够的能力通过可预计的最大流量。
路由器的目的是 说,SURGE 并不是一个 Web 服务器测试工具,它的目的是用来在测试环境中引入人工的延迟来模拟 WAN 中的延迟。
( , 产生有代表性的 Web 负载 representative web workioad) 而不 是测试服务器的性能。
SURGE 没有涉及到 Web 服务器性能测 试指标,但是 SURGE 关于产生有代表性的 Web 负载的方法值 得借鉴。
SURGE 在产生 Web 负载时采用的是自相似模型。
在传统的 Web 服务器测试系统中,对网络流量采用的模 型是无记忆的马尔可夫模型。
这种模型认为,当前时间 t 与过 ( 去时间 t - S) 若 S 足够大, t 与 t - S) , 则 ( 时的业务量是不相关 即 为 .
上一篇:
网上调查问卷发布与统计系统论文
下一篇:
关于大学英语教学