压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤。
工具—JMeter
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境,本文就不讲不如安装JAVA环境了。.
打开后界面: 可在Options/ChooseLanguages里切换语言,方便使用。
使用流程
1、右键TestPlans选择添加/线程(用户)/线程组:
已创建好好线程组,进入线程组设置页面:
各参数意义:
1.线程数:并发数。
2.Ramp-Up Period (in seconds):并发用户加载时间。
3.循环次数:并发执行循环次数,一次测试下,总的请求数量=线程数 * 循环次数;“永远”勾选上后循环一直进行,直到手动选择停止。
Ctrl + S保存后会生成一个.jmx文件,方便存取。
2、右键线程组→添加→取样器→http请求。
选择后打开http请求设置窗口:
1.协议:请求协议类型,设置为http或https。如图为http。
2.服务器名称或ip:具体的ip地址(如:192.168.xx.xx)或域名(如:xx.com)
3.端口号:顾名思义,所用端口号(如:80)
4.方法:即请求方式,常用的如get post等
5.路径:所测试接口具体路径。
6.参数:请求具体的参数。(! ! 注:参数设置之后一定要 ctrl+s保存!)
以post类型json传参为例:在下方添加信息头,设置名称为:content-type;设置值为:application/json。
3、右键线程组→添加→监听器→查看结果树/汇总报告/聚合报告:
添加完成后,可看到左侧目录树结构:
之后可以点击上方工具栏绿色三角运行。
4、选择结果树查看各个请求信息。也可以查看汇总报告和聚合报告。
聚合报告各个参数意义
Label----每个请求的名称,比如HTTP请求等
#Samples----发给服务器的请求数量
Average----单个请求的平均响应时间 毫秒ms
Median----50%请求的响应时间 毫秒ms
90%Line----90%请求响应时间 毫秒ms
95%Line----95%请求响应时间 毫秒ms
99%Line----99%请求的响应时间 毫秒ms
Min----最小的响应时间 毫秒ms
Max----最大的响应时间 毫秒ms
Error%----错误率=错误的请求的数量/请求的总数
Throughput----吞吐量即表示每秒完成的请求数
Received KB/sec----每秒从服务器端接收到的数据量
Sent KB/sec----每秒从客户端发送的请求的数量
90%Line的含义:
假如:
有10个数:
1、2、3、4、5、6、7、8、9、10 按由大到小将其排列。
求它的第90%百分位,也就是第9个数刚好是9 ,那么他的90%Line 就是9 。
另一组数:
2、2.1、2.5、3、3.4、3.4、4、4、4、4、5、5、5、5.9、5.91、6.8、8、12、24、24.1 按由大到小将其排列。
求它的第90%百分位,第18个数是12 么,他的90%Line 就是12。
再来解释90%Line
一组数由小到大进行排列,找到他的第90%个数(假如是12),那么这个数组中有90%的数将小于等于12 。
用在性能测试的响应时间也将非常有意义,也就是90%用户响应时间不会超过12 秒。
线程数量和循环次数将会影响最终的测试报告,请大家多多测试。
-
好听的男孩名字 狂人日记读后感 文化苦旅读后感 漂亮网名 最美的风景作文 狗的品种名大全 组织工作总结 关于读书的名人名言 安全教育主题班会教案 三人成虎的故事 职场心理学 赞美公司实力强的句子 大一自我鉴定 英文网名大全 战队名字大全 恭喜别人结婚的句子 小英雄雨来观后感 运动会致词 雪景的诗句 长的网名 父亲节英语作文 身边那些特别的人作文 心情不好的说说 安全生产管理制度 缘分让我们相遇的句子 跨年文案 房地产策划方案 100个超短比喻句 个人年度总结范文 香菜怎么吃(0) 回复 (0)
-
讨债公司/蓝月传奇辅助/蓝月辅助(0) 回复 (0)