Jmeter设计压力测试场景
1、哪些业务需要做压力测试?
比较常用的功能模块
单一业务场景或者多业务场景
项目需要做的业务场景
2、压力测试的并发数是多少?
有预期的数值?一次性达到?有上次性能测试的结果值?
无预期的数值?只有参考的在线用户数? 2:8原则,可以用在线用户数的20%作为参考去测试
3、关注哪些参数?
响应时间 1:3:5或者 2:5:8
tps每秒并发的事务数,会有极限值,根据结果去做一个并发数/脚本的调整 采用叠加
错误率
cpu (不要超过80%)和内存(至少有20%的空余)的使用情况
队列<1
磁盘:读写操作频率不要过高
使用Assertion对结果进行简单的分类:添加在HTTP请求下面
响应断言:通常是用于每一个request sample进行额外验证的工具
响应时间的断言:规定请求的响应时间不能超过多少毫秒
保存测试结果,在查看结果树:
命令窗口,进入jmenter\bin文件夹下,jmeter -n -t "脚本路径"
jmeter --help 或者jmeter -h
非GUI模式,即CTL或者Non gui mode,其中-n指non -t指testplan -l指log
-n:non gui mode 无图形界面模式
-t:testplan待执行的测试计划 jmeter -n -t \scripte\scvRead.jmx
-l:log 输出解雇报告文件路径名(.jtl 或者.csv)
-g:输出报告文件(.csv)
-r/R:remotehosts 分布式指定机器ip,分压运行
2,指定结果文件及日志路径:(聚合报告和查看结果树)
jmeter -n -t test.jmx -l report\result.csv -j report\log.log
结果文件类型为jtl或csv,可通过Jmeter的聚合报告浏览结果文件,查看最终的结果
3,Jmeter生成Html报告
Jmeter提供和一个用于生成Html页面格式图形化报告的扩展模板,该模板支持通过两种方式生成多维度图形化测试报告;
在Jmeter性能测试结束时,自动生产本次测试的HTML图形化报告
使用一个已有的结果文件(如jtl,csv文件)来生成两次结果的html图形化报告
步骤:
1,在jmeter.properties或者user.properties确认如下配置项:
jmeter.save.saveservice.bytes = true
jmeter.save.saveservice.label = true
jmeter.save.saveservice.latency = true
jmeter.save.saveservice.response_code = true
jmeter.save.saveservice.response_message = true
jmeter.save.saveservice.successful = true
jmeter.save.saveservice.thread_counts = true
jmeter.save.saveservice.thread_name = true
jmeter.save.saveservice.time = true
# the timestamp format must include the time and should include the date.
# For example the default, which is milliseconds since the epoch:
jmeter.save.saveservice.timestamp_format = ms
# Or the following would also be suitable
jmeter.save.saveservice.timestamp_format = yyyy/MM/dd HH:mm:ss
jmeter.save.saveservice.assertion_results_failure_message = true
2,在脚本执行完毕后自动生成报告
参考文档:https://www.cnblogs.com/imyalost/p/10239317.html
基本命令格式:jmeter -n -t <test JMX file> -l <test log file> -e -o <path to output folder>
示范:jmeter -n -t "text.jmx" -l testLogFile.csv -e -o d:\test_result
参数:-e:在脚本运行结束后生成html
-o:保存html报告的路径,此文件夹必须为空或者不存在
3,Jmeter查看html报告
4,Jmeter压力测试报告模板
Jmeter设计压力测试场景的更多相关文章
- jmeter中测试接口
本文主要介绍在jmeter中测试接口:主要从以下几个方面进行说明: 1.jmeter简介 2.jmeter怎么做接口测试 3.jmeter进行参数化的几种形式 4.jmeter中处理乱码方法 5.jm ...
- JMeter 分布式测试部署
对于并发量很大的需求,如上万并发量,受到CPU和内存的限制,单机模拟场景是实现不了的,为了让JMeter提供更大的负载能力,须使用它的分布式机制,即多台机器同时产生负载的功能. 以下参数分析可用于配置 ...
- jmeter对接口测试入参进行MD5加密的5种方式
在使用jmeter做测试的过程中,经常需要对请求的入参进行加密,下面列举几种常用的方法,以登录请求密码需要MD5加密为例. 虽然可以先把参数化的明文密码都先md5加密,而不是在登录前先执行加密,但是实 ...
- JVM性能优化--JVM参数配置,使用JMeter简单测试配合说明参数调优
一.JVM参数配置 1.常见参数配置 -XX:+PrintGC 每次触发GC的时候打印相关日志 -XX:+UseSerialGC 串行回收 -XX:+PrintGCDetails 更详细的GC日志 - ...
- 『动善时』JMeter基础 — 58、JMeter分布式测试
目录 1.JMeter分布式测试概念 2.JMeter分布式测试前提条件 3.JMeter实现分布式测试 (1)在执行机中的配置 (2)在控制机中的配置 (3)启动执行机中的JMeter服务 (4)在 ...
- JMeter常用测试元件—学习笔记
线程组 Ramp-Up Period:告诉JMeter达到最大线程数需要多长时间.假定共有10个线程,Ramp-Up Period为100秒,那么JMeter就会在100秒内启动所有线程,并让它们运转 ...
- 【Fine原创】JMeter分布式测试中踩过的那些坑
最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈, ...
- LR12.53—第5课:创建负载测试场景
在前面的课程中,您使用VuGen将验证您的Vuser脚本.在本课中,您将评估多个Vuser的负载下您的系统.您将模拟十个旅行代理同时使用航班预订系统的行动,以及这些用户的负载下观察系统的行为.设计和运 ...
- LoadRunner测试场景中添加负载生成器
如何在LoadRunner测试场景中添加负载生成器 本文对如何在LoadRunner的测试场景中添加负载生成器,如何使用负载生成器的方法,总结形成操作指导手册,以指导测试人员指导开展相关工作. 1.什 ...
随机推荐
- ansible中定义变量的若干方法
Ansible支持十几种定义变量的方式 根据优先级排序的定义方式: Inventory变量 Host Facts变量 Playbook变量 Playbook提示变量 变量文件 命令行变量 1.Inve ...
- SpringMVC-12-SSM回顾与总结
12.SSM回顾与总结
- JUC使用
1.什么是JUC 源码 + 官方文档 面试高频问! java.util 工具包.包.分类 业务:普通的线程代码 Thread Runnable 没有返回值.效率相比入 Callable 相对较低! 2 ...
- rest_framework五大模块
面向对象封装 面向对象封装导入 # 1.将子类共有的方法抽离形成父类方法 # 2.子类使用共有方法,使用的是父类方法 # 3.共有方法中的资源,在子类使用方法时,获取的是子类资源 class MyCl ...
- java关键字static和final
static可以修饰变量,方法或者类(普通类是不能用static修饰的,只能用来修饰内部类) static静态变量又称之为类变量(和c++中的全局变量概念是一样的),在类加载后,jvm只为类变量分配一 ...
- Redis学习(三)java使用redis
一.操作步骤 Redis除了命令行操作以外,还可以通过java代码进行操作,流程如下: 下载Jedis依赖包,并丢入工程中合适的位置 在Maven中引入redis的包 <!--引入redis包- ...
- 结合 Shell 对 Koa 应用运行环境检查
在开发环境中,启动一个koa 应用服务,通常还需要同时启动数据库.比如.Mongodb.mysql 等 如果一直开着数据库服务,在不使用的话,电脑会占一定的性能.然而如果每次手动去启动服务,效率又不高 ...
- Python-通过twisted实现数据库异步插入?
如何通过twisted实现数据库异步插入? 1. 导入adbapi 2. 生成数据库连接池 3. 执行数据数据库插入操作 4. 打印错误信息,并排错 #!/usr/bin/python3 __auth ...
- p.array 的shape (2,)与(2,1)的分别是什么意思
numpy.ndarray.shap是返回一个数组维度的元组. (2,)与(2,1)的区别如下: ndarray.shape:数组的维度.为一个表示数组在每个维度上大小的整数元组.例如二维数组中, ...
- Linux一些基础命令
man 查看命令 - ...