JMeter接口压力测试

发表于:2018-4-08 13:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:如尘如水    来源:博客园

  2、利用配置元件(CSV Data Set Config)
  选中线程组,点击右键,添加-配置元件-CSV Data Set Config
  FileName:csv文件的名称及路径
  File Encoding: 文件编码----默认为空
  Varible Names: 定义文本文件中的参数名,定义后可当变量的方式来引用
  Delimiter:分隔符---每个参数之间的分隔符号,一般默认使用逗号,
  Allow Quoated data:是否允许数据引用数据----默认为False
  Recycle on EOF:是否循环读取参数文件内容----设置为True后,允许循环取值
  Stop Thread on EOF:文件结束后是否停止线程------默认为false,如果设置为True则会影响文件结束循环
  Sharing Mode:设置线程是否共享---默认设置为All threads
  3、用户自定义变量
  “选择需要添加的脚本” ->“右键”-> “配置文件”->“用户定义的变量”
  Jmeter之关联
  当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理,比如修改用户密码接口,就需要用到登录用户接口的token值,用Jmeter做关联如下:
  “选择需要添加的脚本”->“右键”-> “后置处理器”-> “正则表达式提取器”
  引用名称:变量名称,名称只能是一个,引用方法:${access_token}
  正则表达式:数据提取器,一般简单的通用语法就是:左边界(.+?)右边界,左右边界就是为了能准确定位到想匹配的内容,如上面图的“access_token”:“(.+?)”, (.+?) 是替换了想要提取的内容
  模板:对应正则表达式提取器类型,样式为:$n$,若模板为:$1$,则对应正则表达式中的第一个(.+?)所匹配的内容
  匹配数字:0代表随机取值,1代表所有值
  缺省值:如果匹配不到字符串,那默认给一个值让它取。
  正则表达式实例
  二、压力测试
  什么是压力测试
  压力测试是指模拟巨大的工作负荷来测试应用程序在峰值情况下如何执行操作。例如模拟实际软硬件环境,在超出用户常规负荷下,长时间运行测试工具来测试被测系统的可靠性,和测试被测系统的响应时间,目的是在极限负载下识别程序的弱点。
  压力测试前的准备
  1、压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口
  2、压测时间,一般场景运行1分钟。如果是疲劳测试,可以压几个小时或是一天,根据实际情况来定。
  压测任务需求的确认
  1、压测前要明确压测功能和压测指标,一般需要确定的几个问题:
  2、固定接口参数进行压测还是进行接口参数随机化压测?
  3、要求支持多少并发数?
  4、TPS(每秒钟处理事务数)目标多少?响应时间要达到多少?
  5、压服务器名称还是压服务器IP,一般都是压测指定的服务器
  压测设置
  1、线程数:并发数量,能跑多少量。具体说是一次存在多少用户同时访问
  2、Rame-Up Period(in seconds):表示JMeter每隔多少秒发动并发。理解成准备时长:设置虚拟用户数需要多长时间全部启动。如果线程数是20,准备时长为10,那么需要10秒钟启动20个数量,也就是每秒钟启动2个线程。
  3、循环次数:这个设置不会改变并发数,可以延长并发时间。总请求数=线程数*循环次数
  4、调度器:设置压测的启动时间、结束时间、持续时间和启动延迟时间。
  压测结果查看
  “选中线程组右键” ->“添加” -> “监听器” -> “聚合报告”
  运行完后,聚合报告会显示压测的结果。主要观察Samples、Average、error、Throughput。
  1、Samples:表示一共发出的请求数
  2、Average:平均响应时间,默认情况下是单个Request的平均响应时间(ms)
  3、Error%:测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因
  4、Throughput:简称tps,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,tps越高说明服务器处理能力越好。
  压测结果的分析
  1、有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;
  2、Throughput吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;
  3、压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析;
  4、最大的tps:不断的增加并发数,加到tps达到一定值开始出现下降,那么那个值就是最大的tps。
  5、最大的并发数:最大的并发数和最大的tps是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。
  6、压测过程出现性能瓶颈,若压力机任务管理器查看到的cpu、网络和cpu都正常,未达到90%以上,则可以说明服务器有问题,压力机没有问题。
  7、影响性能考虑点包括:数据库、应用程序、中间件(tomact、Nginx)、网络和操作系统等方面。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号