发明名称 一种简单快捷自动的Web服务器压力测试方法
摘要 本发明将提供一种新型的简单的Web服务器压力测试方案,测试人员只需要进行少量的配置,通过本发明所述的方法,可以快速的得到一组近似的测试结果。测试的过程由程序自动完成,通过网页爬虫程序获取一个测试过程中需要请求的网站资源列表,避免了现有压力测试系统为了配置模拟用户行为的脚本,而需要进行前期的调研工作。
申请公布号 CN101848116A 申请公布日期 2010.09.29
申请号 CN201010155143.1 申请日期 2010.04.21
申请人 中国海洋大学 发明人 徐龑飞;曲海鹏;林喜军;王悦;李好;廖晓敏
分类号 H04L12/26(2006.01)I 主分类号 H04L12/26(2006.01)I
代理机构 代理人
主权项 一种简单快捷自动的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)根据设定的持续时间,在相应时间段内保持不断地发出请求,持续时间完成之后,将回复延时和响应延时的统计数据呈现给测试者,测试过程结束。
地址 266100 山东省青岛市崂山区松岭路238号