jmeter APP接口压力测试
第一步:获取开发文档,了解接口地址和参数名
第二步:jmeter中添加需要测试的接口
a.设计APP的接口框架:
b.http请求默认值设置如下:
- c.接口中应需要用到sign字段,加密字符串与时间戳,所以需要自己编写加密的代码。
在eclipse中编写需要加密的代码,调试成功后,在elipse中到处jar包
将导出的jar放到Jmeter安装目录下的lib文件夹下;
因为sign字段是由:时间戳+$+key加密而成,所以我们先需要获取时间戳:
因为所有接口中的sign规则相同,所以将需要的3个字段在测试计划中添加即可
添加完成后,在jmeter中添加beanshell Sampler,导入该jar包,将需要的字符串引用该方法即可,首先定义各个字符串,将字符串拼接后引用加密的方法,加密后的字符存到sign1中,设计如下:
在接口中引用该sign1字段:
d.接口的请求参数值需要从数据库中随机获取,那么设计如下:
添加JDBC Connection Configuration设置
再添加JDBC Request,首先需要将JDBC Connection Configuration中的与jdbc Request中的
设置相同;然后将从数据库中获取需要的参数值,将所有的数据存储到result对象中,
在BeanShell中获取存储id值的对象,并随机读取
在请求参数中引用,sign与times获取方式如上设置一致,id的字段即从数据库中随机获取的值;
调试无问题后,设置查看结果:
监控测试的服务器需要用PMC
在测试服务器中加入
在测试服务器中linux服务器上首先将startAgent.sh设定为可执行文件:
启动服务后,再进行压力测试。
因为压力测试,需要分布式压力测试:
e.点击“全程启动”进行压力测试,再对结果进行分析:
聚合报告分析
- Label:httpRequest name属性值。
- Samples:测试的过程中一共发出了多少个请求即总线程数,(如果模拟10个用户,每个用户迭代10次,这里就显示100),对应图形报表中的样本数目。
- Average:单个Request的平均响应时间,计算方法是总运行时间除以发送到服务器的总请求数,对应图形报表中的平均值。
- Median:50%用户的响应时间。
- 90%Line:90%用户的响应时间。
- Min:服务器响应的最短时间。
- Max:服务器响应的最长时间。
- Error%:本次测试中出错率,请求的数量/请求的总数。
- Throughput:吞吐量,默认情况下表示每秒完成的请求数。
- KB/Sec:每秒从服务器接收到的数据量,即每秒钟请求的字节数,时间单位均为ms。
根据聚合报告以及图形结果各项参数指标分析
(1)每间隔一秒钟并发的线程数越多,接口99%Line参数值先增加后减小,多少个线程时基本达到峰值;
(2)每间隔一秒钟并发的线程数越多,吞吐量先减后增,每秒钟完成的请求数减幅较大。
据图形结果分析
(1)随着发送到服务器的请求数越来越多,偏离数量越来越大,服务器越来越不稳定;
(2)发送到服务器的请求数增加,吞吐量(即服务器每分钟处理的服务器的请求)先减少后增加。
一般情况下,当用户能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间
得到响应时,会感觉系统的响应速度还可以;当用户在5-10秒以内得到响应时,会感觉系统的
响应速度很慢,但是还可以接受;而当用户在超过10秒后仍然无法得到响应时,会感觉系统糟
透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。
jmeter APP接口压力测试的更多相关文章
- JMeter进入接口压力测试
关键字: Jmeter.单接口.压力测试.插件监听.服务器端 摘要: 使用Jmeter对单个接口进行压力测试:监听并发量对接口响应时间.服务器资源占量.Jmeter本身只能获取到Tomcat的状态,所 ...
- Linxu下JMeter进行接口压力测试
****************************************************************************** 本文主要介绍Jmeter脚本如何在Linx ...
- 【转】用Jmeter进行接口压力测试的步骤
1.双击jmeter.bat 2.右键点击测试规划à添加àThreadsà线程组,此时在测试规划下边显露出来线程组选项.点击该选项,显露出来线程组界面.参变量线程数表达若干个烦请,参变量Ramp-Up ...
- 学习总结——JMeter做http接口压力测试
JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...
- 使用Loadrunner进行http接口压力测试
业务描述: 在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回. 本文就讲述使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据: ...
- 使用Jmeter至WebService压力测试
使用Jmeter至WebService压力测试 目中我们使用了Jmeter对webservice进行了压力測试,Apache JMeter是Apache组织开发的基于Java的压力測试工具.用于对 ...
- JMeter接口测试和压力测试
JMeter接口测试和压力测试 JMeter可以做接口测试和压力测试.其中接口测试的简单操作包括做http脚本(发get/post请求.加cookie.加header.加权限认证.上传文件).做web ...
- jmeter简单得压力测试
Jmeter教程 简单的压力测试 Jmeter是一个非常好用的压力测试工具. Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力测试 ...
- Python开发【笔记】:接口压力测试
接口压力测试脚本 1.单进程多线程模式 # #!/usr/bin/env python # # -*- coding:utf-8 -*- import time import logging impo ...
随机推荐
- SQLServer字符串与数字拼接
1.使用cast‘’+cast(@ID as varchar) 2.使用LTrim‘’+LTrim(@ID) 感觉第二种方式代码简单,但是可读性不好.
- 所谓的SaaS服务到底是什么?
先从SaaS说起,SaaS是英文Soft as a Service(软件即服务)的简写.SaaS并不是指代一个行业或者一种技术,它是一种2B的专业型软件租赁使用模式. 什么是专业型软件? 就是为了解决 ...
- 百度云 2G 4核 服务器拼团链接
拼团链接如下: https://cloud.baidu.com/campaign/ABCSale-2019/index.html?teamCode=P3D6DV8T
- Scala 系列(十一)—— 模式匹配
一.模式匹配 Scala 支持模式匹配机制,可以代替 swith 语句.执行类型检查.以及支持析构表达式等. 1.1 更好的swith Scala 不支持 swith,可以使用模式匹配 match.. ...
- (Manjaro)VirtualBox异常修复:RTR3InitEx failed with rc=-1912 (rc=-1912)
引言 VirtualBox运行异常好几天,其中尝试一些操作都没有解决. 版本说明 系统版本:4.19.88-1-MANJARO Vbox镜像:kali-linux-2019.4-vbox-amd64. ...
- SQL Server 事务日志截断、回绕与收缩(转载)
每个 SQL Server 数据库都具有事务日志,用于记录所有事务以及每个事务对数据库所做的修改. 必须定期截断事务日志以避免它被填满. 但是,一些因素可能延迟日志截断,因此监视日志大小很重要. 某些 ...
- Python基础之shutil模块、random模块
1.shutil模块 shutil模块是对os模块的功能补充,包含移动.复制.打包.压缩.解压等功能. 1)shutil.copyfileobj() 复制文件内容到另一个文件,可指定大小内容,如len ...
- JavaWeb分页-----PageBean.java
package com.zzuli.util; import java.util.List; /** * PageBean类 * @author hejjon * @date 2019年6月8日 下午 ...
- Dubbo(三):框架设计
整体设计 图例说明: 图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口. 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层 ...
- vue.js 实现粒子特效之插件( vue-particles )
首先先一张效果图 图上那些类似于星座图的点和线,是由vue-particles生成的,不仅自己动,而且能与用户鼠标事件产生互动. 使用教程: npm install vue-particles --s ...