发表于: 2017-08-24 19:39:36

2 1245


今天做的事:

今天主要在做JMeter测试,熟悉JMeter的用法。

首先介绍一下,JMeter下载的时候有个坑,需要选择


然后下载解压,进入/bin文件夹使用jmeter.bat启动

登陆界面就是这样的


然后就是如何新建测试了

首先新建线程组,右键—>添加->Threads->线程组

进入线程组设置

线程数*循环次数相当于访问量,一般控制在200-500之间(我们自己测试的时候,如果是大的项目测试则是根据需求),而Ramp-up Period设置的是在多少秒内启动你的线程数,如1秒内启动20个线程


然后,设置http请求(因为我测试的是jsp页面,如果测试其他,也有相关的请求测试等等)

这里右键线程组,在它的下面建立相关请求,添加->配置元件->http请求默认值

进行相关配置,都有中文,应该看得懂

接下来配置,右键线程组->Sampler->HTTP请求

进行相关配置,因为我们在前面默认值进行了配置,所以这里可配可不配,然后方法请求有GET,POST等,下面可以添加相应参数

最后配置监听器,作为观察,这里配置一个Summary Report,一个查看结果树,以及上面没有见到的Aggregate Graph

最后全部配置完成大概长这样


接下来讲解一下各个监听器的各个参数都是用来干什么的,介绍两个——Summary Report,Aggregate Graph

首先是Summary Report

可以看到一个表格,这里各个参数的意思分别是:

#Samples 请求总数,即线程数*循环数

Average 平均请求时间,单位毫秒

Min 最小请求时间

Max 最大请求时间

Std.Dev. 方均差,(响应时间的标准方差),如果该值很大,那么Min和Max的参考意义不大

Error % 错误率

Throughput 吞吐量(每秒请求数)。可以简单的理解为,该值越大,性能越好。

Throughput = (number of requests) / (total time) 
total time = 测试结束时间 - 测试开始时间 
测试结束时间 = MAX(请求开始时间 + Elapsed Time) 
测试开始时间 = MIN(请求开始时间) 

后面三项可以不关注(我也不知道是干什么用的,没有详细了解)

TPS: Transaction per Second ,每秒事务数,一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程 

(不知道怎么测,难道和吞吐量做比较?)


然后介绍Aggregate Graph(聚合报告

有许多字段和Summary Report重复,不再讲了

其他字段最需要关注的90% Line

Median:中位数,也就是 50% 用户的响应时间

而xx% Line的含义就是,从小到大,排序到xx% 的那个请求的时间,这里的90% Line就是,第360个用户请求说用的请求时间,其他含义相似。所以这个90% Line的时间就是满足大部分用户(90%)的请求时间是多少。


这里对于JMeter的简单介绍就到此结束。(如果还有什么不理解的地方,请自行百度,链接就不贴了)




接下来是对我自己的jsp页面进行的测试,目的是挂掉服务器,那么怎样服务器才算挂掉?

请教了伟江大佬后,得知,Error%为0,平均请求时间在5s内,(然后还有个什么忘记了。。。)

我们再加一个条件,让大部分用户的请求时间在5s内(等一个页面刷新在5-10秒是很漫长的,想一下自己打开网页的酸爽快感)


如果不符上述条件,我们就认为服务器挂掉了。

看到上图,我的请求数在400左右时,就已经达不到要求,所以降低线程数

可以看到,由于不知名的原因,请求时间不降反增,所以继续调试,知道一个合适的值


重大失误,我们的各请求时间都是毫秒单位,所以之前的请求时间是全部符合条件的,所以这里一定切记请求时间的单位!!

从上面两张图可以看出我的jsp登陆页面承载请求量在32000-35000之间(当然可以继续缩小范围,不过要花点时间),在这之间的某个值是我的程序阈值,超过即程序挂掉。


下面介绍TSP测试,这里最好也测试一下多少请求能让程序挂掉(这里我就不测了,和上面类似)

由上表可知,我们需要添加一个事务管理器来测试TPS,如下图

如果勾选Generate parent sample,则测试总量和线程数*循环数相同,如下图

关于事务管理器,附链接:http://www.cnblogs.com/fengpingfan/p/5614562.html


明天计划:开始学习使用Memcache


遇到问题:已解决


收获:JMeter测试分析,计算程序的承载量


进度:开始时间:2017.08.25

    预计demo:2017.08.30

    是否有延期风险:未知

    禅道链接:http://task.ptteng.com/zentao/project-task-285-unclosed.html






返回列表 返回列表
评论

    分享到