出处: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出头,所以初步怀疑这是有性能问题的,最终反馈给开发,开发加入了缓存机制,并且增加了机器,经过优化之后,我们再看看数据对比:

  很明显优化后的效果显著,达到了预期的效果。

最新文章

  1. 传智播客--WPF基础视频学习--sender解释(小白内容)
  2. hdu 1556.Color the ball 解题报告
  3. mysql 索引- 笔记
  4. logstash_agent.conf 语法注意事项
  5. SPOJ 1739 Yet Another Equation(Pell方程)
  6. 分治法(一)(zt)
  7. Android Context创建过程
  8. 【HDOJ】2589 正方形划分
  9. VC图形绘制双缓存的代码复用性讨论
  10. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改
  11. beanutils中jdbc
  12. Java并发性和多线程
  13. error LNK2001: 无法解析的外部符号 "public: char * __thiscall
  14. 利用NPOI生成word文档(c#)
  15. php 根据输入的参数,获取上季度最后一个月的时间
  16. (python爬取小故事网并写入mysql)
  17. 在移动端如何用swiper实现导航栏效果
  18. openstack热添加磁盘
  19. 利用fiddler来模拟低速环境
  20. SQL Server查询某个字段存在哪些表中

热门文章

  1. ProcessExplore 最新版
  2. P与NP问题
  3. 【树莓派】关于tinyproxy问题处理
  4. jquery.trim() vs JS.trim()
  5. linux下的nodejs安装
  6. linux cat 命令详解
  7. MVC项目中使用js 设置Checkbox的选中事件
  8. 《开源大数据分析引擎Impala实战》目录
  9. match() vs search()
  10. 从下往上看--新皮层资料的读后感 第二部分:突触Synapses