一种确定Web服务器性能的方法

文档序号:7621377阅读:817来源:国知局
专利名称:一种确定Web服务器性能的方法
技术领域
本发明属于Web服务器的测试领域,特别是涉及一种确定Web服务器性能的方法。
背景技术
Web系统由Web服务器、若干客户机及网络系统组成,其服务能力的好坏受Web服 务器的性能、用户的行为特征及网络情况三者共同影响。近年来,随着hternet的流行, Web应用深入到我们工作、生活的各个角落,许多传统的行业及信息系统被迁移到互联网 上,包括电子商务、信息搜索及信息共享领域。在大量、动态、多变的用户请求情况下,Web服 务器需要及时处理用户的请求并返回相应的信息。为了确保系统运行的可靠性、安全性、稳 定性及高效性,我们需要对Web服务器性能进行一个有效、准确的评测。目前,评估Web服务器性能的方法一般可以分为两种,其中一种是仿真模拟的方 法,例如排队论,Petri网;而另一种是测试监控的方法,其评估依据主要以日志文件、资源 利用率、响应时间为主。仿真模拟的方法的主要思想是通过简化Web系统,提取影响Web服务器性能的主 要因子,包括缓存大小、请求文件大小、网络带宽、用户请求特征、硬件资源,并归纳为一个 公式,并使用该公式来求取Web服务器性能指标,包括吞吐量、响应时间、资源利用率、错误 率。这种方法可以直观的表示影响因子与Web服务器性能之间的关系,有助于更深入的理 解Web服务器性能,而且可以指导Web服务器的优化及性能瓶颈的分析。但是由于此类方 法将简化系统且通过模拟虚拟用户与虚拟服务器的交互得到的数据来判断此类方法是否 有效,难以对真实服务器进行性能评估。测试监控的方法主要思想是通过对真实环境的Web服务器进行监测,记录用户 请求量、用户操作行为、资源利用率、响应时间、请求错误率、吞吐率,并通过对的所记录数 据的分析来评估Web服务器的性能。这种方法根据真实的数据评估Web服务器性能,对于 用于实际运行的服务器而言无疑此类方法更可靠。主流的三种方法有以下特点根据Web 服务器日志文件来分析Web服务器性能,但根据日志文件分析Web服务器性能需要长时间 运行Web服务,主要用于服务器的试运行,耗费的时间较长;根据资源利用情况分析在资源 为Web服务器性能瓶颈的情况下,可以正确的引导评估,然而造成这种性能下降的因素有 很多,包括CPU、内存、网络、操作系统、第三方软件,而不仅仅是资源;根据响应时间与用户 请求量的关系评估Web服务器的服务能力适用于任何配置服务器的性能评估,因为响应时 间是服务器性能的综合体现,但响应时间阀值的选定正确与否直接决定了根据响应时间评 估Web服务器性能这种方法的准确性及有效性。

发明内容
为了解决以上技术问题,本发明提供了一种确定Web服务器性能的方法。该方法 通过监测Web服务器和宿主机内存、CPU的使用率及用户请求的响应时间和错误率,分析它 们与用户请求量之间的关系来确定Web服务器的峰值负载,从而快速准确的评估Web服务器的性能,为合理有效的使用硬件资源且满足用户需求提供准确、可靠的依据。本发明使用两台物理机,一台作为服务器端,一台作为客户端。在服务器端用虚拟 技术部署Web服务器;在客户端安装测试软件,来模拟用户访问Web服务器的行为,从而通 过客户端对服务器发起请求。本发明方法通过如下步骤实现
1)选择一个初始用户请求量,然后执行用户请求生成与性能同步监测过程;
2)根据资源利用率与用户请求量近似线性的关系,提取所监测资源中变化最大的资源 作为参考资源RMfCT 。e,根据Rfe的最大值Umax估计下一用户请求量Pnrat,然后执行用户 请求生成与性能同步监测过程。若首次根据资源利用率与用户请求量近似线性的关系计算 下一用户请求量Pnext时,Ufflax取理论最大值,转至步骤3);否则跳转至步骤4);
所述的资源利用率包括宿主机的CPU、内存的利用情况;虚拟机的CPU、内存的利用情
况;
3)若执行结果显示参考资源Rrefemre并非Web服务器性能瓶颈,则记此资源利用率为 参考资源RrefCTen。e实际最大的利用率,记做Uavaliable,取Uavaliable的60% 90%作为Umax,跳转 至步骤2);若执行结果显示参考资源I^ferenre为Web服务器性能瓶颈,则执行步骤4);
4)根据Web服务器到达峰值负载前,客户端用户请求量与响应时间近似指数的关系, 提取之前实验中监测得到的用户请求量及对应的响应时间,计算下一用户请求量Pnrart,执 行用户请求生成与性能同步监测过程;
5)若执行结果显示请求的平均响应时间与响应时间阀值的偏差在设定范围内且用户 请求错误率小于错误率阀值,则视该用户请求量为服务器能处理的最大负载,也即为Web 服务器的峰值负载,否则执行步骤4);
所述的用户请求生成与性能同步监测过程是调用负载生成器工具,对Web服务器产 生用户请求,同时监测服务器端宿主机的CPU、内存的利用情况;监测虚拟机的CPU、内存的 利用情况;监测请求的响应时间和错误率;
由于本发明根据响应时间确定Web服务器的性能,为了确保结果准确,我们设定每次 选定用户请求量,执行用户请求生成与性能同步监测过程后,需要确保实验结果中的响应 时间具有95%置信度及90%的准确度。然而准确度与测试开销存在矛盾关系,测试时间越 长,次数越多,准确度越高,本发明通过动态调节测试次数和选择合适的测试时间来均衡两 者关系,从而达到快速准确的确定Web服务器性能的目的。本发明相较与传统方法的优点如下
1)选择Uavaliable的60%-90%作为参照点计算下一用户请求量Pnext,不论资源是否为Web 服务器性能瓶颈,计算得到的请求量都小于服务器峰值负载量;
2)增加错误率作为调控参数,可以有效的减少响应时间阀值取值不准确导致的误差。在Web服务器瓶颈临界点,错误率较之于响应时间而言更具有显著的特征,当Web 服务器具有足够的能力处理用户请求时,其错误率几乎为0,当错误率上升时说明服务器已 接近瓶颈点,本发明中控制错误率小于1%。3)根据Web服务器到达峰值负载前,客户端用户请求量与响应时间近似指数的关 系更加快速的确定Web服务器的性能,且具有更广的适用性。4)动态选择测试次数。对于不同的负载水平,达到同一准确度所需要花费的测试 开销不同。负载越大,开销越大。采用动态的测试次数可以有效的减少测试开销且保证结果的准确度。5)通过脚本控制测试,可以减少了测试人员的工作强度,同时提高了测试的效率。


图1为本发明的实验环境图2为负责调度、监控资源的控制器CAE执行的工作图; 图3为本发明的流程图。
具体实施例方式下面结合附图对本发明做进一步的说明
如图ι所示,我们将Web服务器建立在虚拟化环境中,利用虚拟化的硬件资源可动态调 节特性,测试在不同的服务器配置情况下本发明的适应性。图2给出了控制器CAE执行的工作图,本发明主要通过控制器CAE调用脚本从而 调节资源、模拟用户请求生成、监控系统性能及调整测试用例
(1)通过 xm mem-set DOMAIN MEMfPxm sched-credit - d - w _c 调节宿主机的内存 和CPU资源量,以及虚拟机的内存CPU资源量,从而实现Web服务器不同的内存和CPU资源 配置。其中DOMAIN为需要调节内存的域,MEM为调节内存大小,-d为需要调节cpu的域,-W 为相对权重值,"C为绝对权重值。需要注意的是宿主机的性能会影响上层虚拟机的性能, 需要首先保证宿主机可以正常运行。在本发明中,我们确保宿主机至少拥有256M内存以及 20%的CPU资源。(2)通过调用负载生成器httperf模拟用户行为,对Web服务器生成负载,每条 指令中至少要包括目标服务器IP地址(--server),负载类型([ period [d|u|e] Tl[,T2]])及负载大小(一rate),此外还可以设定思考时间、并发长度、最大连接数、并发 请求个数、发送缓存大小、接受缓存大小。本发明使用httperf工具对Web服务器生成到达 率符合符合泊松分布的负载,并且从返回的测试结果中提取响应时间、错误率的值。(3)使用xentop工具监控宿主机及虚拟机的CPU资源的使用情况,需要注意的是 xentop命令只可以在宿主机中执行,且监测得到的值为所监测域分配到的CPU资源的使用 情况。如分配30%CPU资源给虚拟机,监测得到的使用率为70%,则使用率为分配的30%资源 的70%。本发明中对每个用户请求量选用的测试时间采用经验值,在本发明实验环境中,持 续生成同一用户请求120s,服务器性能趋于稳定。同步监测120s,采用每隔IOs采样一次, 共采样11次,由于首次采样得到的值为0,故取平均时只需要除10次。(4)使用top工具监控内存的使用情况,计算公式为used/total。由于内存的消 耗是从内存池中申请,其消耗随着时间的增长而逐渐积累。为了准确的计算内存的使用情 况,我们选择最后IOs中每隔Is取样一次的方法进行监测计算。此外,本发明采用的Web 服务器为Apache服务器,存在内存泄漏问题,为了确保内存使用率计算准确,在本发明中, 我们采用每次更改用户请求量时重启Apache服务器。如图3所示,本发明可以分为两大部分确定用户请求量大小和执行用户请求生 成与性能同步监测过程。为了确保实验结果在置信度为95%情况下具有90%准确度,我们 每次确定用户请求量大小后,至少执行用户请求生成与性能同步监测过程三次,并提取实其中Pi, Ti为用户请求量及对应的响应时间大小。并根据影响因子计算下一用户请求
量Pnext大小。 其中Tsat为响应时间阀值。执行用户请求生成与性能同步监测过程,直到实验结 果中响应时间在置信度为95%情况下具有90%准确度;
5)若平均响应时间及平均错误率均小于设定的阀值,且预测的下一用户请求量Pnrart与 满足性能要求的最大用户请求量Phigh之间的误差值在容许范围内,则确定满足性能要求的 最大用户请求量I3high为该服务器的峰值负载量Pprak ;否则,跳转至步骤4)。
验结果中的响应时间计算其准确度,若准确度小于90%,则每次增加1次执行用户请求生成 与性能同步监测过程,直到达到90%准确度。在以下步骤中不再重复说明。具体步骤如下
1)首先给定一个较小的值作为初始用户请求量,执行用户请求生成与性能同步监测过 程,直到实验结果中响应时间在置信度为95%情况下具有90%准确度;
2)根据(3)(4)监测的值提取变化最大的资源视为最有可能造成Web服务器性能瓶颈 的资源,记为参考资源,并根据资源利用率与用户请求量之间近似线性的关系,计 算下一用户请求量Pnrart大小,即
权利要求
1. 一种确定Web服务器性能的方法,其特征在于该方法包括如下步骤 步骤1)选择一个初始用户请求量,然后执行用户请求生成与性能同步监测过程; 步骤2)根据资源利用率与用户请求量近似线性的关系,提取所监测资源中变化最大的 资源作为参考资源RMfCT 。e,根据Rfe的最大值Umax估计下一用户请求量Pnrat,然后执行 用户请求生成与性能同步监测过程;若首次根据资源利用率与用户请求量近似线性的关系 计算下一用户请求量Pnrart时,Ufflax取理论最大值,转至步骤3);否则跳转至步骤4);所述的资源利用率包括宿主机的CPU、内存的利用情况;虚拟机的CPU、内存的利用情况;步骤3)若执行结果显示参考资源艮—e并非Web服务器性能瓶颈,则记此资源利用 率为参考资源RMfCTen。e实际最大的利用率,记做Uavaliable,取Uavaliable的60% 90%作为Umax, 跳转至步骤2);若执行结果显示参考资源RMfCTm。e为Web服务器性能瓶颈,则执行步骤4); 步骤4)根据Web服务器到达峰值负载前,客户端用户请求量与响应时间近似指数的关 系,提取之前实验中监测得到的用户请求量及对应的响应时间,计算下一用户请求量Pnrait, 执行用户请求生成与性能同步监测过程;步骤5)若执行结果显示请求的平均响应时间与响应时间阀值的偏差在设定范围内且 用户请求错误率小于错误率阀值,则视该用户请求量为服务器能处理的最大负载,也即为 Web服务器的峰值负载,否则执行步骤4);所述的用户请求生成与性能同步监测过程是调用负载生成器工具,对Web服务器产 生用户请求,同时监测服务器端宿主机的CPU、内存的利用情况;监测虚拟机的CPU、内存的 利用情况;监测请求的响应时间和错误率。
全文摘要
本发明涉及一种确定Web服务器性能的方法。现有的方法难以对真实服务器进行性能评估。本发明通过监测Web服务器和宿主机内存、CPU的使用率及用户请求的响应时间和错误率,分析它们与用户请求量之间的关系来确定Web服务器的峰值负载,从而快速准确的评估Web服务器的性能,为合理有效的使用硬件资源且满足用户需求提供准确、可靠的依据。本发明选择合适的参考资源实际最大的利用率作为参照点计算下一用户请求量,不论资源是否为Web服务器性能瓶颈,计算得到的请求量都小于服务器峰值负载量。
文档编号H04L29/06GK102123061SQ20111007487
公开日2011年7月13日 申请日期2011年3月28日 优先权日2011年3月28日
发明者万健, 张纪林, 徐向华, 徐婷婷, 殷煜昱, 蒋从锋 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1