Jmeter测试移动接口性能--压测

接上一篇,当我们把准备工作都做好后,就可以加负载了!

一般的公司都想知道自己产品的性能瓶颈和以及提升性能,以期大流量来了还撑得住。
其实性能测试很难,难点在你不知道性能要达到怎样的需求。
难点在于你没有实际的环境场景给你测试,总不能给线上环境你测试吧?
难点在于找性能瓶颈,即便找出来了,调优也是一件棘手的事情。
一般公司的性能测试都是在测试环境下模拟和估算。(当然大公司不是这么干。淘宝双11,12306节假日的超大流量这么干绝对死翘翘)

如果一个团队能走如下流程


屏幕快照 2017-09-21 下午10.34.48.png

那么测试人员就轻松多了,它只需要设计场景以及执行,并能找出瓶颈。

如下图,我们设计的并发数,进程数乘以循环次数,相当于设计了100个用户在同时登录


loop.jpg

测试结束后,生成本次测试的报告。

生成报告又分为非GUI和GUI报告。
JMeter3.0版本发布后,开始支持动态报表报告。让测试人员编写性能测试报告更加容易。

jmeter -n -t test.jmx -l result.jtl -e -o /tmp/ResultReport

结果如下:


nongui5.png

参数说明:
-n: 非GUI模式执行JMeter
-t: 执行测试文件所在的位置
-l: 指定生成测试结果的保存文件,jtl文件格式
-e: 测试结束后,生成测试报告
-o: 指定测试报告的存放位置
-l -o指定的文件及文件夹,必须不存在,否则执行会失败

将已存在的测试结果文件,生成测试报告

jmeter -g result.jtl -o /tmp/ResultReport

参数说明:
-g: 指定已存在的测试结果文件
两种方式,其实最终都依赖生成的测试报告。双击报告文件夹中的index.html即可查看报告。

GUI报告就是聚合报告,可以导出来


csv1.jpg

然后计算


csv2.jpg

从报告中计算出

如100个用户2s内登录 总的执行的时间=最后一个线程启动的时间+最后一个线程持续的时间-第一个线程启动的时间

throughput=总的线程数/持续时间=100/4.524=22.1个线程/sec

需要了解的一些概念

1、Average Transaciton Response Time(事务平均响应时间)
“事务平均响应时间”显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测试场景运行期间应用系统的性能走向。
例:随着测试时间的变化,系统处理事务的速度开始逐渐变慢,这说明应用系统随着投产时间的变化,整体性能将会有下降的趋势。

2、Transactions per Second(每秒通过事务数/TPS)
“每秒通过事务数/TPS”显示在场景运行的每一秒钟,每个事务通过、失败以及停止的数量,使考查系统性能的一个重要参数。通过它可以确定系统在任何给定时刻的时间事务负载。分析TPS主要是看曲线的性能走向。
将它与平均事务响应时间进行对比,可以分析事务数目对执行时间的影响。
例:当压力加大时,点击率/TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈。

3、Hits per Second(每秒点击次数)
“每秒点击次数”,即使运行场景过程中虚拟用户每秒向Web服务器提交的HTTP请求数。
通过它可以评估虚拟用户产生的负载量,如将其和“平均事务响应时间”图比较,可以查看点击次数对事务性能产生的影响。通过对查看“每秒点击次数”,可以判断系统是否稳定。系统点击率下降通常表明服务器的响应速度在变慢,需进一步分析,发现系统瓶颈所在。

4、Throughput(吞吐率)
“吞吐率”显示的是场景运行过程中服务器的每秒的吞吐量。其度量单位是字节,表示虚拟用在任何给定的每一秒从服务器获得的数据量。
可以依据服务器的吞吐量来评估虚拟用户产生的负载量,以及看出服务器在流量方面的处理能力以及是否存在瓶颈。

测试指标

对于B/S架构的软件,一般会关注如下Web服务器性能指标:
    Avg Rps:平均每秒钟的响应次数=总请求次数/秒数;
    Avg time to last byte per terstion (mstes):平均每秒业务脚本的迭代次数;
    Successful Hits:成功的点击次数;
    Hits Per Second:每秒点击次数;
    Attempted Connections:尝试连接数;
    Throughput:吞吐率;

对于C/S架构的程序,由于软件后台通常为数据库,所以我们更注重数据库的测试指标。
    User Connections:用户连接数,也就是数据库的连接数量;
    Nunber of Deadlocks:数据库死锁;
    Butter Cache Hit:数据库Cache的命中情况。

注意:
  在实际性能测试过程中,需要观察的性能指标并不限于以上提到的这些指标,需要根据实际情况作出选择和权衡,有些指标如CPU占用率、内存占用率、数据库连接池等,也有非常重要的参考意义。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容