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出头,所以初步怀疑这是有性能问题的,最终反馈给开发,开发加入了缓存机制,并且增加了机器,经过优化之后,我们再看看数据对比:
很明显优化后的效果显著,达到了预期的效果。
最新文章
- 传智播客--WPF基础视频学习--sender解释(小白内容)
- hdu 1556.Color the ball 解题报告
- mysql 索引- 笔记
- logstash_agent.conf 语法注意事项
- SPOJ 1739 Yet Another Equation(Pell方程)
- 分治法(一)(zt)
- Android Context创建过程
- 【HDOJ】2589 正方形划分
- VC图形绘制双缓存的代码复用性讨论
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改
- beanutils中jdbc
- Java并发性和多线程
- error LNK2001: 无法解析的外部符号 ";public: char * __thiscall
- 利用NPOI生成word文档(c#)
- php 根据输入的参数,获取上季度最后一个月的时间
- (python爬取小故事网并写入mysql)
- 在移动端如何用swiper实现导航栏效果
- openstack热添加磁盘
- 利用fiddler来模拟低速环境
- SQL Server查询某个字段存在哪些表中