出处: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性能测试入门(转)的更多相关文章

  1. Jmeter性能测试入门(链接收藏)

    Jmeter性能测试入门: http://www.cnblogs.com/TankXiao/p/4045439.html

  2. 【转载】Jmeter 性能测试入门

    [转载]Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmete ...

  3. Jmeter性能测试 入门--转载

    转载: Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmete ...

  4. Jmeter性能测试 入门【转】

    Jmeter性能测试 入门[转] Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter ...

  5. jmeter 性能测试入门手册分享

    深思熟虑之下,决定把这份性能测试入门手册分享给大家 最初整理这份教程的是因为自己在学习性能测试的过程中踩过了很多的坑,遇到了 数不清的问题,于是就想着将这些解决的问题全都归拢在一个文档里,方便自己查阅 ...

  6. Jmeter性能测试 入门

    Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadR ...

  7. JMeter性能测试入门--偏重工具的使用

    1.JMeter整体简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试 ...

  8. JMeter性能测试入门--简单使用

    1.JMeter整体简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试 ...

  9. JMeter性能测试入门-不同类型线程组的使用

    jmeter不同线程组的详解 在做性能测试之前,我们来了解一下JMeter多个不同线程组的应用.首先,JMeter提供了三个基本的线程组,分别为: Thread Group setUp Thread ...

随机推荐

  1. js对象/数组深度复制

    今天碰到个问题,js对象.数组深度复制:之前有见过类似的,不过没有实现函数复制,今晚想了一下,实现代码如下: function clone(obj) { var a; if(obj instanceo ...

  2. Mifare系列3-卡的能源和数据传递(转)

    文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38080175 在MIFARE卡中,能量和数据通过天线传输,卡中天线为几匝线圈,直 ...

  3. JArray数组每个JObject对象添加一个键值对

    JArray ja = new JArray(); JObject jo = new JObject(); jo.Add("1","1"); ja.Add(jo ...

  4. MySQL 添加列, 修改列, 删除列

    ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 查看数据库创建语句: show create database 数据库名: 查看创建表的语句: show c ...

  5. redis安装

    参考redis.io 安装步骤 下载,编译reids $ wget http://download.redis.io/releases/redis-3.0.6.tar.gz $ tar xzf red ...

  6. 01 初识python

    python.exe -v / python3 -v安装python3时, 会得到一个 IDLE(提示符>>>), 简单, 有用, 包含语法编辑器(颜色可变), 调试工具, pyth ...

  7. 如何把excel 数据做dataprovide

    1.  新建一个类,实现接口Iterator import java.io.FileInputStream; import java.io.FileNotFoundException; import ...

  8. python迭代器

    首先解释以下迭代器跟可迭代对象(Iterable)的区别,可以直接作用于for循环或者实现了__iter__的对象统称为可迭代对象(Iterable).可以被next()函数调用并不断返回下一个值的对 ...

  9. HTML5 <input>添加多张图片,可点击弹窗放大。限定4张,可删除。

    点击弹窗放大,需要加入插件. <link rel="stylesheet" href="css/photoswipe.css"> <link ...

  10. 3d旋转

    <!DOCTYPE html><html lang="zh-cmn-Hans"><head><meta charset="utf ...