1、做接口测试,服务器是10台docker,目标是把10台docker的cpu压满。我有三台压力机,windows Server操作系统,4c8g配置。

经过尝试,每台压力机发起700vu,压力机cpu满,用并发数除以平均响应时间,算出tps应该是3600,但实际只达到了2200,响应时间不大,但tps却没有达到预期,这说明压力机的能力到头了,需要增加压力机。

jmeter的操作手册,官网写的很详细(官网关于分布式压测的讲解),过一遍windows下分布式测试的配置步骤:

所有机器在同一子网(因为jmeter的分布式调用是通过rmi远程调用,所以跨网段需要建立代理服务器。同一子网,就是大家用同一个网关,且子网掩码相同),配置相同的jmeter与jdk,把脚本的参数化文件放在各个压力机的相同路径下,

各个压力机,只启动jmeter-server.bat即可,jmeter-server.bat启动会报Server failed to start: java.rmi.server.ExportException: Listen failed on port:,这时修改jmeter.properties的server.rmi.ssl.disable=false,改为true。

找一台机器作为总控制,配置jmeter的bin目录下的jmeter.properties,改remote_hosts,写上各个压力机的ip,不用写总控制机自己的ip。

然后打开脚本,将脚本里的参数化文件路径,写成绝对路径。然后在运行菜单里,点击启动所有,这时总控制机会把脚本分发到各个压力机上运行,结果会自动收录到总控制机。

上面的方法是从机器的系统随机分配端口号,如果想指定端口号,需要修改从机的 jmeter.properties文件,并在主机的jmeter.properties里除了配ip还要配端口,具体参考。

扩展:使用docker搭建自动伸缩的压力机集群。

2、被测试的服务器都在docker上,一台实例服务器,有多个docker容器,所以在进行性能测试时,不能使用top命令监控本机,而是通过docker stats 监控具体容器的cpu使用情况。docker stats的参数很少,无法形成实时的监控,需要找一下看有没有现成的docker资源监控软件,如果没有通用的可以用influxdb和grafana自己写一个。

8个最佳Docker容器监控工具。

3、除了系统资源,docker下对jvm的监控,显然不如使用visualVM方便,另外,对应长时间的稳定性测试,无法长期监控jvm,这也需要有个监控软件。

Java visualVM监控docker容器中的java项目;

jvisualvm+jmx监听docker容器中的jvm情况;

4、bean shell运行报错信息不明显,查看详细报错。

5、jmeter发起jdbc请求,不同的数据库要用不同的验证语句,不然会导致数据库连不上。数据库连接driverClass和jdbcUrl大全。Jmeter--常用数据库validationQuery检查语句。

6、jmeter发起jdbc请求,直接拼写sql是硬解析还是软解析?

  取决于query type。使用select statement是硬解析。目前java框架大都使用了绑定变量,属于软解析。jmeter要改成绑定变量,需要改成 prepared select statement (JDBC为什么要使用PreparedStatement而不是Statement),如图所示:

7、关于cookie

loadrunner进行http请求时,若服务器返回set-cookie,则后续请求会自动添加cookie。

jmeter的http请求,只要新建cookie配置,就会自动检测服务器的set-cookie并未请求添加cookie。

说明:jmeter中cookie管理器使用方式分两种1. 自动:将cookie管理器添加到测试计划中,cookie管理器会自动记录指定域响应的cookie信息,并且在相同域中,下条请求会自动附加cookie信息2. 手动:有时候需要附件指定cookie,将cookie管理器添加到测试计划中或指定线程组中,点击添加手动添加cookie名、值、域注意:手动添加cookie时必须添加域(网站域名)

8、Jmeter里用户定义变量不会随迭代变化,前置处理的用户参数可以随迭代变化。

9、jmeter 模仿each occurrence 不行;

   性能脚本要避免本地函数耗时过长,会使压力变小,tps不准确。

10、新建csv文件,可以通过txt改后缀,然后用记事本编辑。如果直接用xls改后缀,会读取乱码;
   做参数关联,若用正则,被参数化的值必须是(.*?),不然正则无效;

11、Linux上启动jmeter

登录linux压力机
压力机jmeter文件夹下有脚本和CSV文件;
cd到/jmeter/script脚本文件夹下,执行命令:
jmeter -n -t 要执行的脚本名称 -l /jmeter/result/结果名称.jtl
场景跑完后将结果下载到本地,在jmeter中打开结果进行统计;

性能测试系列:Jmeter使用记录相关推荐

  1. 【C/C++基础进阶系列】实战记录 -- Dump 文件生成与分析

    [C/C++基础进阶系列]实战记录 -- Dump 文件生成与分析 [1]Windows 端 Dump 文件的捕获与分析 [1.1]添加 Windows 端 Dump 捕获的代码 代码下载,windo ...

  2. jmeter优化记录文档

    文章目录 jmeter优化记录文档 jvm 优化参考文档 jmeter 优化 系统相关信息: 系统环境: 硬件信息: 系统参数调整 jmeter内存溢出 错误日志如下 情况分析 解决方案 jmeter ...

  3. Android Performance Patterns 系列视频学习记录(持续更新中)

    系列文章旨在记录YouTube上谷歌发布的Android Performance Patterns系列视频,一共79个视频,每个视频也就几分钟.当然对于大部分安卓开发者来说,这些都是基础,可能你会说, ...

  4. 调整jmeter5内存_松勤软件性能测试-修改JMeter内存以适应更高的并发测试

    原标题:松勤软件性能测试-修改JMeter内存以适应更高的并发测试 Jmeter做并发测试时,报错 java.lang.OutOfMemoryError:gc overhead limit excee ...

  5. JMeter性能测试:JMeter多用户并发模拟及压测结果分析

    目录 JMeter设置 JMeter线程组 JMeter压测实例 View Results Tree Aggregate Report 命令行方式执行压测 jtl文件解析 JMeter多用户并发模拟 ...

  6. 开源区块链系统 AElf 性能测试系列文章 - 01

    开源区块链系统 AElf 性能测试系列文章 AElf vs ETH - 01 1.测试用例及代码库 2.机器配置 3.测试结果 3.1 EVM 3.2 AElf 3.2.1 LoopDivAdd10M ...

  7. 高级性能测试系列《34.普通性能场景:​jmeter的线程数,有没有限制?线程数+ramp-up时间,怎么设置才比较合理?》...

    目录 一.回顾 二.性能测试场景设计 六种常见设计方法 三.普通性能场景 1.jmeter的线程数,有没有限制呢? 2.ramp-up时间 3.线程数+ramp-up时间,怎么设置才比较合理? 4.循 ...

  8. 编写jmeter测试用例_Jmeter性能测试系列-场景用例设计

    性能测试过程中,首先应该设计测试场景,模拟真实业务发生的情境,然后是针对场景设计脚本. 为了真实的反映被测对象可能存在的性能问题,需要尽可能模拟被测对象可能发生瓶颈的业务场景.测试需求分析过程中已经确 ...

  9. 编写jmeter测试用例_Jmeter性能测试系列篇(十)--批量用例执行结果检查设置

    1.在jmeter图形界面中,所有用例的执行可以通过"监听器"中的[察看结果树]来汇总每个接口的测试用例的执行结果.同时可以设置将执行的结果保存到指定的目录上. 2.因为结合ANT ...

最新文章

  1. OpenCV代码提取:transpose函数的实现
  2. CSS改变nth-child()和nth-last-child()的参数灵活选择元素编号
  3. toLua关于委托没有注册的解决方案
  4. 大数据是应对安全形势的进攻武器
  5. 1 java基础增强
  6. linux 文件 跳板机_linux 跳板机得搭建
  7. 2D Game Creation - 2D游戏开发基本流程
  8. Excel—“撤销工作表保护密码”的破解并获取原始密码
  9. 3种方法设置和取消Excel文件的打开密码
  10. MEMS:万物智联技术关键
  11. Day2 Excel与数据处理之定位条件、选择性粘贴及查找功能
  12. jib推送到harbor私有仓库并拉取镜像
  13. Vue 实现简单的时间轴 时间进度条
  14. 小刘同学的第七十四篇博文
  15. java activeMQ消息的发送与接收
  16. Unity编辑器扩展——在Editor下动态添加监听事件
  17. springsecurity 配置
  18. 【机器学习】使用Matlab和CNN完成回归任务
  19. 锦城学院和锦江计算机,四川大学锦城学院怎么样_是几本?和四川大学锦江学院哪个更好?...
  20. Week10 限时大模拟 B - 东东转魔方 HDU - 5983

热门文章

  1. 毕业后拉开距离的真正原因!
  2. 《C++编程——数据结构与程序设计方法》程序范例:影碟店(源代码)
  3. Java多线程详解(深究Thread类)
  4. c语言 判断一个图是否全连通_【连载】(判断执行语句)乐创DIY C语言讲义——3.8节(2)...
  5. java反编译工具_移动app安全测试 - 客户端 - 反编译保护
  6. linux内核通俗理解,简洁明了!高手带你理解ARM-Linux的启动过程
  7. php设置自动关机开机,设置电脑自动开机关机方法介绍
  8. jsp ejb mysql_关于UTF-8 JBoss,JSP,EJB,MySQL,STRUTS的中文处理方案
  9. 三菱FX 系列PLC 编程通信协议总览
  10. 新增本地存储功能 山石网科发布下一代防火墙新品