快捷搜索:

做“准确”的性能测试

昨天看了测试大年夜侠pent翻译的一篇文章《基于用户体验的机能测试》,原文名称为《User Experience, Not Metrics》,直译为《用户体验,而不是度量》,大年夜侠翻译的很准确,不愧为前辈。这篇文章的不雅点很好,近来我恰恰也想谈谈类似的话题。

看坛子里多半网友都在谈压力测试,评论争论LoadRunner的应用,气氛热烈而又折衷,但我本日可能要给很多人泼一盆冷水了,“你做的压力测试“准确”吗?”,这里我说的

“准确”有两层含义:

相符现实:你模拟的负载测试真的能反应实际运行的负载吗?

正确:你模拟测试中采集的度量数据足够具体、粒度够小吗?

当然,借助于专业的压力测试对象,只要添加足够多的monitor,“正确”应该不难,但“相符现实”吗?以我作为过来人的履历,大年夜多半的压力测试并不准确。为什么这么说,请往下看这张图。

php?aid=3993" target="_blank">

上图是大年夜多半人获得的一个范例的测试结果,看上去很美,但它不相符现实环境。你的谋略机、测试脚本有足够的耐心等待,但实际用户没有。在这个考究效率、信息爆炸、社会高速运转的现实天下是什么样呢?

别的用户对网站的认识程度、收集速率,以致用户的谋略机水平,都邑影响用户的操作速率,进而对实际的负载形成不合的影响。

一个不准确的压力测试会得出不准确的测试结果,对付一个紧张的网站来讲,这样是异常危险的,会对决策层形成误导。

×对网站容量评估过高:当实际的负载上来时,会呈现问题(相应过慢以致崩溃)

×对网站容量评估过低:会导致不需要的挥霍,包括不需要的硬件开支和资本挥霍。

是以,不准确的压力测试“后果很严重”。

由此可以获得,做准确的压力测试是异常紧张的,但若何才能做准确的压力测试呢?

本文开始即提出,“准确”有两层含义,今朝主要的问题照样“相符现实”,以是问题的关键是若何让你的压力测试相符现实环境。

办理这个问题,主要照样站在营业的角度,在压力测试计划阶段斟酌,详细来说,便是要回答几个问题,完成几个图形,具体请看本站的别的一篇文章:《LoadRunner前传:压力测试前的阐发筹备事情》(http://www.ltesting.net/?10851/action_viewspace_itemid_79096.html)。

当然这里的几个问题着实不是那么好回答,要做很多阐发统计事情,这里只是简单描述一下。假如被测系统是曩昔系统的进级,最好的措施便是从旧系统的运行日志中捕获曩昔的运行信息,比如原本系统应用的Web Server是IIS的话,IIS日志记录了用户造访系统的所有信息。借助于专门的阐发对象(WebTrends等对象),导出阐发IIS日志,可以建立WUS(Web Site Usage Signature)

× Page Distribution

—Home page 26%、Search 12%、Product Info 32%、Order 4%

× 匀称和标准误差统计环境

—Page size、Hit per Page、Session Duration ......

有了以上的阐发,你才知道若何设置脚本中think time、若何对脚本进行角色划分、若何分配用户履行对应的买卖营业等等诸多细节。

经由过程这种措施建立的测试脚本和测试场景,最相符实际负载的运行环境,从而可以得出有用的结论,否则你便是在挥霍光阴,挥霍金钱。

借用2004年看过的sunshinelius版主的一篇文章《让LoadRunner走下神坛》中的一句话:

“我们无论在loadrunner前面加若干个“强大年夜”、“智能”的形容词,别忘了其终极修饰的只是一个名词-“对象”。《大年夜话西游》中相称精辟的论断:官兵?最多也只是个长了痔疮的官兵!”

假如你没有把它用好,那它便是长了痔疮的官兵。哈哈!!

您可能还会对下面的文章感兴趣: