性能测试配置Web性能测试自动化方案

文章结束给大家来个程序员笑话:[M]

    罕见的性能测试是这样的:

    有人开发了百度知道,然后,想知道单机的最大并发处理量是多少。这就需要性能测试了。然后,我们罕见的性能测试方法是:

    1.apache的ab;

    2.JMeter;

    3.loadrunner;

    4.自己开发的工具。

    

    先大致的评价下下面的几个方法:1.apache的ab。这货色,用起来很简单,就一个命令。缺点就是,可定制差,使用不是很方便。2.JMeter真的很强大,我们的性能测试主动化,就是使用JMeter实现的;3.loadrunner,这货色要收费的,功能很强大,但是主动化方面,不清楚。直接入正题,看看怎么实现性能测试主动化。

    性能测试是很消耗时间、人力的事情,每次测试都需要有人来值守。在这里,供给一个JMeter和JMeter plugins,一起配合使用到达的性能测试主动化。

    

    为了大家的学习方便,我把我的JMeter打包起来,欢送大家下载使用。

    

    

一、什么是JMeter?

    

    JMeter是开源的性能测试工具,能够实现很多的测试任务。具体的可以参考:http://jmeter.apache.org

    

1.1安装

    先安装JMeter plugins,按照这里的步调来安装。https://code.google.com/p/jmeter-plugins/wiki/PluginInstall

    

1.2 编写case

    在windows下打开jmeter.bat,就能够看到编辑页面了。如下图:

    性能测试和配置

    第二步:右键测试计划,新建线程,配置线程数及循环次数。这里我们配置100*100 =10000次请求。

    性能测试和配置

    第三步:在线程上右键,选择add->sampler->Http Request Sampler。然后,配置好服务器地址,端口地址,get或者post的参数。如图:

    性能测试和配置

    第四步:在线程组上右键,选择add->Assertions->Response Assertion. 配置断言的参数,这样就能够让Jmeter为我们判断哪些请求是错误的。性能测试和配置

    第五步:在测试计划上右键,选择add->Timer->Constant Throughput Timer,配置每分钟的流量。这样就能够有一个稳定的压力。这里要注意,在测试计划上右键,而不是在线程组,这样这个timer才会失效。我们要400的压力,就需要400*60 = 24000.然后,下面的计算选择:all active threads.

    性能测试和配置

    每日一道理
爱,有的时候不需要山盟海誓的承诺,但她一定需要细致入微的关怀与问候;爱,有的时候不需要梁祝化蝶的悲壮,但她一定需要心有灵犀的默契与投合;爱,有的时候不需要雄飞雌从的追随,但她一定需要相濡以沫的支持与理解。

    最后,可以点击运行,查看是不是我们需要的压力值,查看地址是不是准确。 如果OK,就能够点击保存了,保存为performance.jmx。到这里,我们就实现case的编写了。对于庞杂的case,可以添加cookie manager等来支持。

    

    

二、在linux上执行

    

我们可以直接执行,然后查看压力等情况。但是,个人的PC机难免会有很多的限制,压力可能起不上去,而且不方便我们持续集成,这里可以在linux上跑。

         将jmeter的tar.gz包放到机器上,然后配置好java,这里需要java5以上,公司机器的默认java是不符合要求的。

         可以使用如下命令:

                   sh  ./jmeter.sh  -n  –t  performance.jmx  -l  log.jlt

下面的命令,-n是不适用ui界面,也就是在linux下跑,-t是选择指定的测试计划;-l是将生成的结果保存为log.jlt,这也是我们后面供给给hudson的结果文件。

         就能够看到Jmeter已开始运行了。


三、hudson插件安装

为了分析jmeter的结果,我们需要在hudson上安装一个Hudson Performance Plugin插件,如图:性能测试和配置


然后,在job的配置里面,就能够规定我们以为OK的压力值。


四、hudson执行结果

性能测试和配置
可以看到上图中,有很多直观的数据,让我们对代码的性能有直观的懂得。另外,点击Performance Trend,就能够看到更多的数据。比如那些请求是失败的,结果是什么。
性能测试和配置

至此,完整的压力测试就OK了。


五、后续晋升

下面的测试,最多只算是压力测试主动化,而不能成为性能测试主动化。真正的性能测试主动化,应当包括对CPU, IO, Mem等服务器资源的详实分析。另外,还需要给出其最大的瓶颈是什么,能够承受的极限压力是什么。还需要主动的调节压力,并且在某些情况下,还需要分布式的压力测试。

         所以,后期还会继承研究,如何实现:

         1.服务端CPUIOMem资源监控;

         2.主动压力调节;

         3.分布式压测

         如此,便可以让性能测试完整主动化,并且有一个详实的报表,能够将人力从手工的性能测试解放出来,提高性能测试的准确度及缩短性能测试的时间,并且可以不必三更半夜的压环境了~
这个就能够查看JMeter plugins的代码,然后,写一个插件,来支持。

文章结束给大家分享下程序员的一些笑话语录: 联想——对内高价,补贴对外倾销的伟大“民族”企业。

--------------------------------- 原创文章 By
性能测试和配置
---------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值