在网上收集了不少jmeter工具作性能测试,但仍是不怎么了解去分析性能测试的结果,而后本身用如今作的项目作了一个简单的的压力测试,就是同一时间多个用户进行并发访问该页面,而后对结果作了一些简单的分析:web
1、用百度的网页测试200个用户在10秒以内同时访问百度的网页,每一个用户只访问一次:www.baidu.com服务器
一、首先点击测试计划,右键,添加线程组,如图:并发
线程组页面如图:工具
线程数:就是模仿用户并发的数量,Ramp-up:运行线程的总时间,单位是秒,循环次数:就是每一个线程循环多少次。性能
我如今的线程数是200,就是至关于有200个用户,运行线程的总时间是10秒。也就是说在这10秒中以内200个用户同时访问,一秒钟有20个用户同时访问,每一个用户循环一次,也就是访问一次。测试
二、点击测试计划,右键添加HTTP请求的默认值:如图线程
HTTP请求默认值界面:3d
协议:web的请求头是什么就是什么,这里拿百度作参考,输入https,服务器或IP:就输入百度的地址就能够了code
三、添加HTTP请求,鼠标右键点击线程组,添加HTTP请求:blog
HTTP页面:
协议和ip地址能够不用输入,由于在HTTP的默认值咱们已经添加了,这里只须要在路径加/表示是在根目录,不填写IP地址就使用的默认的。
四、添加聚合报告,查看结果树,用表格查看结果,右键点击线程,添加监听器,如图:
下面就能够经过这三者进行分析:
查看结果树:
经过察看结果树,咱们能够看到每一个请求的结果,其中红色的是出错的请求,绿色的为经过。
Thread Name:线程组名称
Sample Start: 启动开始时间
Load time:加载时长
Latency:等待时长
Size in bytes:发送的数据总大小
Headers size in bytes:发送数据的其他部分大小
Sample Count:发送统计
Error Count:交互错误统计
Response code:返回码
Response message:返回信息
Response headers:返回的头部信息
这里绿色的就说明请求是经过的,返回值是200,若是出现红色的×就说明请求失败,这时候能够经过右边的取样器结果和响应数据来查看结果。
聚合报告分析:
这里能够看到不少数据,相关名词解释以下:
Sample:本次测试场景共运行多少线程;
Average:平均响应时间;
Median:统计意义上的响应时间中值;
90% line:全部线程中90%的线程响应时间都小于xx的值;
Min:响应最小时间;
Max:响应最大时间;
Error:出错率;
Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”来衡量。 时间单位已经被选取为second,因此,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,因此30.0 requests/second 在CVS中被保存为0.5
Kb/sec - 以Kilobytes/seond来衡量的吞吐量
200个用户在10秒中同时访问百度的页面,平均响应时间是85毫秒,最大的响应时间841毫秒,最小的响应时间是37毫秒,错误率为0,说明百度网页 的性能仍是不错的,每一个页面都能很快的获得响应,不用1秒钟。
用表格查看结果:
名词解释以下:
Sample:每一个请求的序号
Start Time:每一个请求开始时间
Thread Name:每一个线程的名称
Label:Http请求名称
Sample Time:每一个请求所花时间,单位毫秒
Status:请求状态,若是为勾则表示成功,若是为叉表示失败。
Bytes:请求的字节数
样本数目:也就是上面所说的请求个数,成功的状况下等于你设定的并发数目乘以循环次数
平均:每一个线程请求的平均时间
最新样本:表示服务器响应最后一个请求的时间
偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。
在这里面能够看到,线程组名称,每一个线程响应时间,返回结果是否成功,字节数等。
如何只清楚部分数据:
点击左边要清楚的选项,好比,清楚上一次百度页面测试的聚合报告,点击聚合报,而后点击工具栏的扫把图标便可,这个只是清楚你选择的内容。
若是要清楚整个线程的结果数据,就直接选择该线程组,点击有两把扫把的图标便可。
2、用淘宝的页面来测试200个用户在10秒钟以内同时访问该网址:www.taobao.com
能够从新走上面的步骤,在建一个线程组,也能够直接把聚合报告结果清楚掉,把IP地址更换成淘宝地址,而后运行便可。
200个用户在10秒中同时访问淘宝的网页,获得的聚合报告结果以下:
平均的响应时间是283毫秒,最大的响应时间是547毫秒,最小的响应时间是246毫秒,错误率为0,比百度的网页的响应时间要快点。
3、用公司目前作的项目作了一个压力测试,一样是200用户在10秒中以内访问该网页,获得结果以下:
平均的响应时间是16754毫秒也就至关因而16秒,最大的响应时间是47秒,最小的响应时间是564毫秒。
从百度,淘宝,公司项目来作比较,咱们公司项目的性能仍是有待提升,一样是200个用户在10秒钟以内访问,虽然都获得了响应,可是等待的时间很长。
而后从这三者在增长线程数去作比较,增长到500个用户10秒钟以内同时访问:
公司的项目最大响应时间是122秒,最小响应时间是542毫秒,且有百分之14.14的错误率,也就是说500个用户是有用户请求响应是失败的,而后咱们从查看结果树能够看出响应数据:
看来,公司的项目性能有待提升呀。
百度,淘宝,等网址我就不测了,都是同样的测法,而后根据聚合报告去分析。以上是我的总结的压力测试,这只是简单的一个同时访问的网页的性能。