CN101848116A - 一种简单快捷自动的Web服务器压力测试方法 - Google Patents

一种简单快捷自动的Web服务器压力测试方法 Download PDF

Info

Publication number
CN101848116A
CN101848116A CN201010155143A CN201010155143A CN101848116A CN 101848116 A CN101848116 A CN 101848116A CN 201010155143 A CN201010155143 A CN 201010155143A CN 201010155143 A CN201010155143 A CN 201010155143A CN 101848116 A CN101848116 A CN 101848116A
Authority
CN
China
Prior art keywords
resource
url
test
site
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201010155143A
Other languages
English (en)
Inventor
徐龑飞
曲海鹏
林喜军
王悦
李好
廖晓敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ocean University of China
Original Assignee
Ocean University of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ocean University of China filed Critical Ocean University of China
Priority to CN201010155143A priority Critical patent/CN101848116A/zh
Publication of CN101848116A publication Critical patent/CN101848116A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明将提供一种新型的简单的Web服务器压力测试方案,测试人员只需要进行少量的配置,通过本发明所述的方法,可以快速的得到一组近似的测试结果。测试的过程由程序自动完成,通过网页爬虫程序获取一个测试过程中需要请求的网站资源列表,避免了现有压力测试***为了配置模拟用户行为的脚本,而需要进行前期的调研工作。

Description

一种简单快捷自动的Web服务器压力测试方法
技术领域
本发明涉及一种针对Web服务器的压力测试方法
技术背景
随着计算机技术、网络技术近二十年来突飞猛进地发展,互联网以其使用方便快捷、费用低廉、包含信息量巨大等诸多优点,成为人们生活着不可或缺的重要工具。互联网在信息提供方面的重要性越来越为人们所重视,许多个人以及企业、团体、组织等单位纷纷创办自己的网站。
网站是一个通过互联网提供信息的服务。网站的一大功用是向外界提供、发布信息,人们通过浏览网站获得信息(虽然,当前技术条件下,基于Web的应用已经远远不止是浏览网页,但是通过浏览方式获取信息依然是主要部分)。
除了信息内容本身的质量以外,美观的版面和稳定的服务质量是网站运营者向用户提供优质服务的基础。美观的版面可以聘请优秀的设计师进行设计,用肉眼可以很直观的看出来;而稳定的服务质量必须通过一系列科学有效的测试进行测定和保障。
众所周知,一个网站访问的人数越多,速度便会越慢。当有多少用户访问网站获取信息的时候,网站响应的速度会慢到令用户无法忍受的程度,是网站运营者关注的焦点,因为这关系到网站投资建设时购置设备的预算、运行的成本和后期效益等诸多因素。
对Web服务器进行压力测试是了解网站性能的一个重要途径,通过模拟大量用户对网站进行访问,可以在实验室条件中,了解到服务器在收到大量请求后的性能表现,从而评估一个网站在实际运行时能接受的最大访问人数,为网站的建设者、运营者、管理者提供科学有效的数字依据。
现有的Web服务器的压力测试工具,主要代表有惠普公司的LoadRunner,微软公司的Web ApplicationStress Tool(以下简称WAS)和Apache社区的ab。
LoadRunner和WAS都是使用预先录制的包含真人访问的行为的脚本,然后通过计算机模拟大量用户重现所录制的内容。其优点在于重放真人的访问过程,能得到最真实的网站性能情况。而缺点是录制真人访问行为脚本的准备工作是一项非常需要技术的工作,需要通过大量的调研和访谈了解真正的用户将会如何访问该网站,获得可靠数据。WAS是一个简单免费的测试工具,而LoadRunner虽然功能非常强大,但是价格也非常昂贵。
ab是Apache配套的一个功能非常简单的小型的测试工具,只能向一个指定的页面发起指定数量的请求。
发明内容
本发明将提供一种新型的简单快捷自动的Web服务器压力测试方案,使得中小型网站的创建者、运营者、维护者和管理者可以获得一种快速廉价的测试工具。测试人员只需要进行少量的配置,通过本发明所述的方法,可以快速的得到一个近似的测试数据。测试的过程由程序自动完成,不需要进行前期的调研工作。施加压力的过程与真实用户访问所产生的压力相近,测试数据具有较高的实用价值。
简要思路:
(1)一个网站上会有很多资源(包括但不限于HTML页面、图像、CSS代码、JavaScript脚本、声音、文档等文件,下同),他们可以视作一个图的节点。HTML页面中会包含有超链接,可以指向任何一个资源,超链接视为图的弧。用户访问网站的过程,就是沿着这些弧在途中各个节点中移动的过程;
(2)如果网站中,指向一个资源的超链接的个数越多,则可以视为这个资源对于这个网站越重要,用户访问网站时请求这个资源的可能性也就越大,对于这个资源请求的次数也就越多(同Google的PageRank的原理相似)。通过统计指向这个资源的超链接的个数,我们可以将这个数字设定为该资源(节点)的一个权值。
(3)测试过程中,根据所设定的权值,对资源发起请求。权值越大,单位时间内对该资源的请求次数越多。通过这种方法,近似的模拟真实用户访问网站。
(4)记录被测服务器对每一次请求响应的时间,这组数据为本测试方法的结果。
本发明的优点是:
本发明与已有产品相比,新颖之处在于,不需要录制脚本,通过对网站资源的统计,自动产生一个近似于真实用户的访问过程,对Web服务器施加压力。
附图说明
附图所绘为具体实施方式中准备阶段所完成的工作。
具体实施方式
对本发明的实施作如下详述:
需要使用到的机器设备包括被测服务器(即运行Web服务的服务器,不限于是一台机器,也可以是提供完整Web服务的一套装置)和测试机器(即运行测试程序的机器,不限于是一台机器,也可以是多台机器同时参与),以及将被测服务器和测试机器连接在一起的网络线缆和交换设备。
为了使得网络带宽不会成为瓶颈影响测试数据的准确性,被测服务器和测试机器应当处于同一个局域网中,并采用高速交换设备和优质线缆。
测试过程分为准备阶段和测试阶段。
准备阶段使用一个网页爬虫程序搜索网站,建立一个网站内所有资源的列表,如附图1所示,具体步骤如下:
(1)建立一个以资源的URL为键值的哈希表(称为网站资源列表),记载网站中各资源的URL、出现的频数、内容类型、父节点的URL等信息,建立一个待抓取资源队列;
(2)测试者设定一个最大抓取资源数(Nmax),被测网站资源判定规则(规则类型为正则表达式)和起点页面URL,并启动程序开始抓取;
(3)将起点页面的URL在网站资源列表中登记,并推入待抓取资源队列中;
(4)从待抓取资源队列中取出一个资源的URL,并把该URL所对应的资源下载下来;
(5)根据HTTP响应的ContentType字段,判断该资源的类型,并在网站资源列表中登记该资源的类型,若该资源类型为“text/html”类型,则进行步骤(6),否则,跳至步骤(9);
(6)扫描HTML代码中包含的所有资源的URL,包括但不限于图像、声音、视频、CSS代码、JavaScript脚本、程序、文档等类型文件;
(7)对于每一个扫描到的URL,使用被测网站资源判定规则进行判定,若该URL为被测网站的资源,则进行步骤(8),否则不做任何处理,跳至步骤(9);
(8)对于指向被测网站资源的URL,若该URL曾经出现过,则将该URL的出现频数加一;否则,建立一条新纪录保存该资源信息,该资源的频数记为一,并把该资源的URL送入待抓取资源队列中等待抓取;
(9)如果待抓取资源队列为空,或者网站资源数据库中记载的资源总数超过Nmax,则终止抓取行为,否则,跳回步骤(4)循环执行。
注:为了提高抓取的速度,会采用多个线程抓取,上述步骤(4)至(9)描述的是其中一个线程的行为,工作的线程数量由测试者指定。
测试阶段将向网站资源列表中的资源不断的发出请求,从而对被测服务器施加压力,具体步骤如下:
(1)设定一个压力值和持续时间,压力值的含义为每秒对被测网站资源发出的请求总数,持续时间的含义为测试工作持续的时间;
(2)生成一个测试时将要使用的测试资源队列,包含测试时将要发起请求的资源的URL,队列中任意一个资源的URL出现的概率等于在网站资源数据库中的频率(该资源出现的频数除以所有资源的频数之和);
(3)测试程序根据设定的压力,不断地从测试资源队列中取出资源的URL并对该URL发出请求,同时保持请求发送的速率与设定的压力值相当;
(4)对于每一个发送的请求,程序记录每一个请求的响应的第一个数据包到达的延时(称为回复延时)和最后一个数据包到达的延时(称为响应延时);
(5)根据设定的持续时间,在相应时间段内保持不断地发出请求,持续时间完成之后,将回复延时和响应延时的统计数据呈现给测试者,测试过程结束。
具体实施效果:测试的过程比现有的产品要简单,得到的测试数据与真实用户访问的数据接近,是真实值的一个可靠的近似。

Claims (3)

1.一种简单快捷自动的Web服务器压力测试方法,测试过程分为准备阶段和测试阶段,具体步骤如下:
准备阶段使用一个网页爬虫程序搜索网站,建立一个网站内所有资源的列表,具体步骤如下:
(1)建立一个以资源的URL为键值的哈希表(称为网站资源列表),记载网站中各资源的URL、出现的频数、内容类型、父节点的URL等信息,建立一个待抓取资源队列;
(2)测试者设定一个最大抓取资源数(Nmax),被测网站资源判定规则(规则类型为正则表达式)和起点页面URL,并启动程序开始抓取;
(3)将起点页面的URL在网站资源列表中登记,并推入待抓取资源队列中;
(4)从待抓取资源队列中取出一个资源的URL,并把该URL所对应的资源下载下来;
(5)根据HTTP响应的ContentType字段,判断该资源的类型,并在网站资源列表中登记该资源的类型,若该资源类型为“text/html”类型,则进行步骤(6),否则,跳至步骤(9);
(6)扫描HTML代码中包含的所有资源的URL,包括但不限于图像、声音、视频、CSS代码、JavaScript脚本、程序、文档等类型文件;
(7)对于每一个扫描到的URL,使用被测网站资源判定规则进行判定,若该URL为被测网站的资源,则进行步骤(8),否则不做任何处理,跳至步骤(9);
(8)对于指向被测网站资源的URL,若该URL曾经出现过,则将该URL的出现频数加一;否则,建立一条新纪录保存该资源信息,该资源的频数记为一,并把该资源的URL送入待抓取资源队列中等待抓取;
(9)如果待抓取资源队列为空,或者网站资源数据库中记载的资源总数超过Nmax,则终止抓取行为,否则,跳回步骤(4)循环执行。
注:为了提高抓取的速度,会采用多个线程抓取,上述步骤(4)至(9)描述的是其中一个线程的行为,工作的线程数量由测试者指定。
测试阶段将向网站资源列表中的资源不断的发出请求,从而对被测服务器施加压力,具体步骤如下:
(1)设定一个压力值和持续时间,压力值的含义为每秒对被测网站资源发出的请求总数,持续时间的含义为测试工作持续的时间;
(2)生成一个测试时将要使用的测试资源队列,包含测试时将要发起请求的资源的URL,队列中任意一个资源的URL出现的概率等于在网站资源数据库中的频率(该资源出现的频数除以所有资源的频数之和);
(3)测试程序根据设定的压力,不断地从测试资源队列中取出资源的URL并对该URL发出请求,同时保持请求发送的速率与设定的压力值相当;
(4)对于每一个发送的请求,程序记录每一个请求的响应的第一个数据包到达的延时(称为回复延时)和最后一个数据包到达的延时(称为响应延时);
(5)根据设定的持续时间,在相应时间段内保持不断地发出请求,持续时间完成之后,将回复延时和响应延时的统计数据呈现给测试者,测试过程结束。
2.根据权利要求1所述的Web服务器压力测试方法,其特征在于:测试过程中需要请求的资源URL通过网页爬虫程序收集获得。
3.根据权利要求1所述的Web服务器压力测试方法,其特征在于:测试过程中需要请求的资源URL的出现概率与爬虫在网站爬行过程中该URL出现的频率相同。
CN201010155143A 2010-04-21 2010-04-21 一种简单快捷自动的Web服务器压力测试方法 Pending CN101848116A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010155143A CN101848116A (zh) 2010-04-21 2010-04-21 一种简单快捷自动的Web服务器压力测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010155143A CN101848116A (zh) 2010-04-21 2010-04-21 一种简单快捷自动的Web服务器压力测试方法

Publications (1)

Publication Number Publication Date
CN101848116A true CN101848116A (zh) 2010-09-29

Family

ID=42772582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010155143A Pending CN101848116A (zh) 2010-04-21 2010-04-21 一种简单快捷自动的Web服务器压力测试方法

Country Status (1)

Country Link
CN (1) CN101848116A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508779A (zh) * 2011-11-17 2012-06-20 北京北纬点易信息技术有限公司 基于网络爬虫日志的性能测试脚本自动化生成***及方法
CN103067214A (zh) * 2011-10-19 2013-04-24 阿里巴巴集团控股有限公司 用于测试网站性能的方法、客户端、服务器和***
CN103312553A (zh) * 2012-03-14 2013-09-18 百度在线网络技术(北京)有限公司 网站服务质量测试方法及装置
CN103729287A (zh) * 2012-10-16 2014-04-16 百度在线网络技术(北京)有限公司 一种前端javascript组件的测试方法和装置
CN103856790A (zh) * 2012-12-05 2014-06-11 北京四达时代软件技术股份有限公司 一种vod***用户行为分析方法及***
CN104092583A (zh) * 2014-07-14 2014-10-08 杭州东信北邮信息技术有限公司 一种智能路由器自动化测试方法和***
CN104734918A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种轻量级网页性能测试架构和方法
CN104850492A (zh) * 2015-04-24 2015-08-19 浪潮集团有限公司 一种基于windwos的服务器压力测试方法
CN105207832A (zh) * 2014-06-13 2015-12-30 腾讯科技(深圳)有限公司 一种服务器压力测试方法和装置
CN105279083A (zh) * 2014-07-24 2016-01-27 山东厚德测控技术有限公司 一种Web服务器性能并发测试装置及其测试方法
CN105357073A (zh) * 2015-11-17 2016-02-24 深圳市网心科技有限公司 基于无限节点的网络性能测试***及其方法
CN105450465A (zh) * 2014-09-04 2016-03-30 上海福网信息科技有限公司 一种网站压力和性能测试方法及工具
CN106452888A (zh) * 2016-10-24 2017-02-22 广州华多网络科技有限公司 业务服务远程探测方法及装置
CN106598984A (zh) * 2015-10-16 2017-04-26 北京国双科技有限公司 网络爬虫的数据处理方法及装置
CN106844778A (zh) * 2017-03-07 2017-06-13 北京齐尔布莱特科技有限公司 一种数据处理方法、装置及网络服务器
WO2017162028A1 (zh) * 2016-03-21 2017-09-28 阿里巴巴集团控股有限公司 一种模拟线上压力测试的方法和装置
CN109150984A (zh) * 2018-07-27 2019-01-04 平安科技(深圳)有限公司 获取数据资源的方法和装置
CN110262888A (zh) * 2019-06-26 2019-09-20 京东数字科技控股有限公司 任务调度方法和装置及计算节点执行任务的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1744529A (zh) * 2004-08-31 2006-03-08 英业达股份有限公司 一种多网站性能自动测试方法
CN1852180A (zh) * 2005-12-12 2006-10-25 华为技术有限公司 一种多媒体服务***性能测试方法
CN101510195A (zh) * 2008-02-15 2009-08-19 刘峰 基于爬虫技术的网站安全防护与测试诊断***构造方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1744529A (zh) * 2004-08-31 2006-03-08 英业达股份有限公司 一种多网站性能自动测试方法
CN1852180A (zh) * 2005-12-12 2006-10-25 华为技术有限公司 一种多媒体服务***性能测试方法
CN101510195A (zh) * 2008-02-15 2009-08-19 刘峰 基于爬虫技术的网站安全防护与测试诊断***构造方法

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067214A (zh) * 2011-10-19 2013-04-24 阿里巴巴集团控股有限公司 用于测试网站性能的方法、客户端、服务器和***
CN103067214B (zh) * 2011-10-19 2016-08-03 阿里巴巴集团控股有限公司 用于测试网站性能的方法、客户端、服务器和***
CN102508779A (zh) * 2011-11-17 2012-06-20 北京北纬点易信息技术有限公司 基于网络爬虫日志的性能测试脚本自动化生成***及方法
CN103312553A (zh) * 2012-03-14 2013-09-18 百度在线网络技术(北京)有限公司 网站服务质量测试方法及装置
CN103312553B (zh) * 2012-03-14 2016-06-22 百度在线网络技术(北京)有限公司 网站服务质量测试方法及装置
CN103729287A (zh) * 2012-10-16 2014-04-16 百度在线网络技术(北京)有限公司 一种前端javascript组件的测试方法和装置
CN103729287B (zh) * 2012-10-16 2018-01-05 百度在线网络技术(北京)有限公司 一种前端javascript组件的测试方法和装置
CN103856790A (zh) * 2012-12-05 2014-06-11 北京四达时代软件技术股份有限公司 一种vod***用户行为分析方法及***
CN103856790B (zh) * 2012-12-05 2018-01-23 北京四达时代软件技术股份有限公司 一种vod***用户行为分析方法及***
CN105207832A (zh) * 2014-06-13 2015-12-30 腾讯科技(深圳)有限公司 一种服务器压力测试方法和装置
CN105207832B (zh) * 2014-06-13 2019-05-03 腾讯科技(深圳)有限公司 一种服务器压力测试方法和装置
CN104092583A (zh) * 2014-07-14 2014-10-08 杭州东信北邮信息技术有限公司 一种智能路由器自动化测试方法和***
CN104092583B (zh) * 2014-07-14 2017-06-06 杭州东信北邮信息技术有限公司 一种智能路由器自动化测试方法和***
CN105279083A (zh) * 2014-07-24 2016-01-27 山东厚德测控技术有限公司 一种Web服务器性能并发测试装置及其测试方法
CN105279083B (zh) * 2014-07-24 2018-05-25 山东厚德测控技术有限公司 一种Web服务器性能并发测试装置及其测试方法
CN105450465A (zh) * 2014-09-04 2016-03-30 上海福网信息科技有限公司 一种网站压力和性能测试方法及工具
CN104734918A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种轻量级网页性能测试架构和方法
CN104850492A (zh) * 2015-04-24 2015-08-19 浪潮集团有限公司 一种基于windwos的服务器压力测试方法
CN106598984A (zh) * 2015-10-16 2017-04-26 北京国双科技有限公司 网络爬虫的数据处理方法及装置
CN105357073A (zh) * 2015-11-17 2016-02-24 深圳市网心科技有限公司 基于无限节点的网络性能测试***及其方法
CN107220165A (zh) * 2016-03-21 2017-09-29 阿里巴巴集团控股有限公司 一种模拟线上压力测试的方法和装置
WO2017162028A1 (zh) * 2016-03-21 2017-09-28 阿里巴巴集团控股有限公司 一种模拟线上压力测试的方法和装置
CN107220165B (zh) * 2016-03-21 2020-08-04 阿里巴巴集团控股有限公司 一种模拟线上压力测试的方法和装置
TWI734746B (zh) * 2016-03-21 2021-08-01 香港商阿里巴巴集團服務有限公司 模擬線上壓力測試的方法和裝置
CN106452888A (zh) * 2016-10-24 2017-02-22 广州华多网络科技有限公司 业务服务远程探测方法及装置
CN106844778A (zh) * 2017-03-07 2017-06-13 北京齐尔布莱特科技有限公司 一种数据处理方法、装置及网络服务器
CN106844778B (zh) * 2017-03-07 2020-09-01 北京齐尔布莱特科技有限公司 一种数据处理方法、装置及网络服务器
CN109150984A (zh) * 2018-07-27 2019-01-04 平安科技(深圳)有限公司 获取数据资源的方法和装置
CN109150984B (zh) * 2018-07-27 2021-11-02 平安科技(深圳)有限公司 获取数据资源的方法和装置
CN110262888A (zh) * 2019-06-26 2019-09-20 京东数字科技控股有限公司 任务调度方法和装置及计算节点执行任务的方法和装置
CN110262888B (zh) * 2019-06-26 2020-11-20 京东数字科技控股有限公司 任务调度方法和装置及计算节点执行任务的方法和装置

Similar Documents

Publication Publication Date Title
CN101848116A (zh) 一种简单快捷自动的Web服务器压力测试方法
AU774769B2 (en) A method of balancing load among mirror servers
CN104410691B (zh) 一种基于内容分发网络的网站加速方法及***
CN105024872B (zh) 网络性能测试的方法及装置
CN103412890A (zh) 一种网页加载方法和装置
CN102346770A (zh) WebKit浏览器网页内容加载方法及装置
CN104750471A (zh) 一种基于浏览器的web页面性能检测与采集分析插件以及方法
CN103124263A (zh) 一种广告推送***及广告推送设备、广告服务器
CN109408701A (zh) 一种网络爬虫爬取路径的展示方法和装置
CN103246699A (zh) 一种基于浏览器的数据访问控制方法和装置
CN110855766A (zh) 一种访问Web资源的方法、装置及代理服务器
CN103139006A (zh) 基于web服务的自动化测试装置及方法
CN107463657A (zh) 文件操作方法及终端
CN110417873A (zh) 一种实现记录网页交互操作的网络信息提取***
CN101354706A (zh) 一种收集网页信息的方法及装置
JP5112401B2 (ja) Web行動履歴取得システム、Web行動履歴取得方法、ゲートウェイ装置、及びプログラム
Liu et al. Request dependency graph: A model for web usage mining in large-scale web of things
CN103139004B (zh) 利用网络限速工具模拟网络带宽的方法及***
Fang et al. Fine-grained HTTP web traffic analysis based on large-scale mobile datasets
CN108268370B (zh) 基于Referer和模板库匹配的网站质量分析方法、装置和***
CN102200943B (zh) 一种基于后台自动检测cpu使用率的方法和设备
CN102866945A (zh) 用于提供用户所对应的第一应用测试信息的方法和设备
CN101668043A (zh) 一种通信会话组的获取方法及***
US20080162687A1 (en) Data acquisition system and method
CN101895550A (zh) 一种互联网网站的兼容动静态内容的缓冲加速***及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100929