Jmeter性能测试入门(转)
出处:http://www.cnblogs.com/by-dream/p/5611555.html
Jmeter性能测试步骤
1. 添加线程组之后,先设置这两项:

2. 添加一个http请求
被测的url请求是:http://cm.browser.qq.com/test_xianwu/api/buy,也就是拉取App的首页的信息。我们需要把url分成两部分填写:

3. 添加查看结果树
4. 运行

5. 加大线程数至100

加完之后,我去App端看了一眼,然后发现首页悲剧了,一片白屏:

这时候我们在网站上去看一下,发现果然,返回的子串当中,list的内容为空了,而这个list就是我们首页要展示出的物品:

既然我们知道了请求返回失败的特征是list为空,那么就增加一个断言,让他直接帮我们筛选出请求失败的样本
6. 添加响应断言(substring):

因为在请求成功的情况下,返回的list当中的信息当中有location,所以我们可以简单的认为,当location字段存在的时候,这个请求是成功的。
这个时候我们再运行一下,看看结果树当中会不会帮我们辨别出来:

7. 添加线程组>监听器>Aggregate Graph
我们可以看到红色就是失败的个数。数量有点多,所以我们需要借助Aggregate Graph。添加完成之后再次运行,这个时候就能在这里看到一个大概的数据了:

这样我们就可以不断的去改变线程数,然后去观察失败率和吞吐量,得到一个当前请求的一个最佳的相应值
在测试的过程中我发现,如果手动去强制停止的话,最后的几条请求会因为手动停止而抛出异常,因此我们决定让它去请求2w次,2w次结束收自动停止。那么我们就需求在开始的地方设置采集次数:

线程数和循环次数的乘积等于一个固定值就行,你可以变换两个乘数,而我选择的线程数分别是10、20、50、80、100、200,得到的结果是:

最后生成图表,就可以看出来性能的瓶颈,下面是结果:

从上图中可以得出响应时间延时很大,且错误率非常高,并且最大qps才能打到50出头,所以初步怀疑这是有性能问题的,最终反馈给开发,开发加入了缓存机制,并且增加了机器,经过优化之后,我们再看看数据对比:

很明显优化后的效果显著,达到了预期的效果。
Jmeter性能测试入门(转)的更多相关文章
- Jmeter性能测试入门(链接收藏)
Jmeter性能测试入门: http://www.cnblogs.com/TankXiao/p/4045439.html
- 【转载】Jmeter 性能测试入门
[转载]Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmete ...
- Jmeter性能测试 入门--转载
转载: Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmete ...
- Jmeter性能测试 入门【转】
Jmeter性能测试 入门[转] Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter ...
- jmeter 性能测试入门手册分享
深思熟虑之下,决定把这份性能测试入门手册分享给大家 最初整理这份教程的是因为自己在学习性能测试的过程中踩过了很多的坑,遇到了 数不清的问题,于是就想着将这些解决的问题全都归拢在一个文档里,方便自己查阅 ...
- Jmeter性能测试 入门
Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadR ...
- JMeter性能测试入门--偏重工具的使用
1.JMeter整体简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试 ...
- JMeter性能测试入门--简单使用
1.JMeter整体简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试 ...
- JMeter性能测试入门-不同类型线程组的使用
jmeter不同线程组的详解 在做性能测试之前,我们来了解一下JMeter多个不同线程组的应用.首先,JMeter提供了三个基本的线程组,分别为: Thread Group setUp Thread ...
随机推荐
- SLES 10安装Oracle10gR2笔记
SLES 10安装Oracle10gR2笔记 一. 数据库安装 . 安装C/C++ Compiler gcc --version验证是否安装 . 验证Service Pack版本 SPident –v ...
- JavaScript中数组迭代方法(jquery)
var arr = [1,2,4,5,6]; //1.forEach(让数组中的每一项做一件事)arr.forEach(function(item,index){ console.log(ite ...
- phprpc的简单使用
PHPRPC 是一个轻型的.安全的.跨网际的.跨语言的.跨平台的.跨环境的.跨域的.支持复杂对象传输的.支持引用参数传递的.支持内容输出重定向的.支持分级错误处理的.支持会话的.面向服务的高性能远程过 ...
- 如何获得APP内部资源
安装一个iTools(百度一下就有) 用USB连接设备,打开iTools
- django_cms安装技巧
首先python的版本要高一些,否则安装django-cms会报错 安装cmsinstaller不能够正常下载 利用virtualenv进行安装配置 注意中文的配置 djangocms配置中文 dja ...
- iOS 圆的放大动画效果
第一步:创建一个View,将这个View添加到当前的控制器 如: CGFloat timeW = self.view.bounds.size.width; timeAnimation * timean ...
- linux下添加环境变量
我安装完 RedHat Linux 5 之后,在终端使用一些命令,如: ifcinfig 查看本机的IP,发现不能使用此命令,提示说“command not found”,这该怎么办呢 想想肯定是环境 ...
- venus
The Venus system was a small timesharing system serving five or six users at a time:分时系统 The design ...
- css3 文字过长用...代替
white-space: nowrap; text-overflow: ellipsis; overflow: hidden; white-space:nowrap 代表多个空格/回车不换行: tex ...
- SCOI2005栅栏
Description 农夫约翰打算建立一个栅栏将他的牧场给围起来,因此他需要一些特定规格的木材.于是农夫约翰到木材店购买木材.可是木材店老板说他这里只剩下少部分大规格的木板了.不过约翰可以购买这些木 ...