性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析

文章目录

一、前言

二、Jmeter分布式 实战案例

1、Jmeter分布式 简介

2、Jmeter分布式 官网介绍

3、Jmeter分布式 前置条件

4、Jmeter分布式 配置修改

        4.2 Jmeter Master 主控制机器 配置修改

        4.3 Jmater Slave 从执行机器 配置修改

5、Jmeter分布式 实战操作

        Jmeter分布式 GUI操作说明

        5.1 Jmeter分布式 Master机器

        5.2 Jmeter分布式 Slave机器

        5.3 Jmeter分布式 Grafana性能数据报告

        5.4 Jmeter + InfluxDB + Grafana 配置教程

6、Jmeter分布式 实战总结

三、Jmeter分布式 实战问题

1、Jmeter分布式 实战问题描述

2、Slave从服务器 jmeter.log 问题分析定位

3、Jmeter分布式性能测试之 "no such object in table"

4、Jmeter分布式部署其他问题

四、结束语


一、前言

        单台Jmeter机器比如200线程,如何实现更多线程呢?加机器,加机器,加机器……

        Jmeter分布式压测,通过Master Jmeter去控制多台Salve Jmeter的机器,可实现单台机器控制多台机器。

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第1张图片

一图胜千言.png

“学说唱跳逗”

一主多从 

一个将军,双拳难敌四手,能一个打十个吗?

一个将军,一群小兵,小的冲去“砍杀”对方服务器,把ta打下来


二、Jmeter分布式 实战案例

1、Jmeter分布式 简介

        使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持800并发),单台电脑的配置(CPU和内存)可能无法支持,可使用Jmeter提供的分布式测试的功能。

流程

1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。

2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。

3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

2、Jmeter分布式 官网介绍

Distributed Testing 

https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html

官网介绍文档

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第2张图片

3、Jmeter分布式 前置条件

英文版

This short tutorial explains how to use multiple systems to perform stress testing. Before we start, there are a couple of things to check.

1、the firewalls on the systems are turned off or correct ports are opened.
2、all the clients are on the same subnet.
3、the server is in the same subnet, if 192.x.x.x or 10.x.x.x IP addresses are used. If the 4、server doesn't use 192.xx or 10.xx IP address, there shouldn't be any problems.
5、Make sure JMeter can access the server.
6、Make sure you use the same version of JMeter and Java on all the systems. Mixing versions will not work correctly.
7、You have setup SSL for RMI or disabled it.

In this tutorial we use GUI Mode just for demonstration. In real life you should use CLI mode (NON GUI) to start your load test

中文版

本简短教程介绍如何使用多个系统执行压力测试。在我们开始之前,有几件事需要检查。

1、系统上的防火墙已关闭或正确的端口已打开。

2、所有客户端都在同一子网上。

3、如果为192,则服务器位于同一子网中。x、 x.x或10。x、 使用x.x IP地址。如果服务器不使用192。xx或10。xx IP地址,应该没有问题。

4、确保JMeter可以访问服务器。

5、确保在所有系统上使用相同版本的JMeter和Java。混合版本将无法正常工作。

6、您已为RMI设置或禁用SSL。

在本教程中,我们使用GUI模式只是为了演示。在现实生活中,您应该使用CLI模式(非GUI)来启动负载测试

实战版

1、关闭防火墙防护,网络可以相互访问(ping)

2、部署的机器做到 Java JDK版本、Jmeter版本一致,系统OS环境一致。兼容问题

3、Master、Salve(主从)均需修改配置文件\apache-jmeter-5.4.1\bin\jmeter.properties

4、不同平台或环境遇到的报错问题,请查看日志\apache-jmeter-5.4.1\bin\jmeter.log

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第3张图片

4、Jmeter分布式 配置修改

        4.1 实战案例环境说明

环境 Master Savle
OS Windows Centos
Java JDK1.8.0_202 JDK1.8.0_252
Jmeter Jmeter5.4.1 Jmeter5.4.3
ip 10.22.34.99 192.168.242.129

PS:环境不一致会遇到较多问题,高版本兼容低版本,低版本兼容高版本,还有字符串编码问题等,实际部署时请严格按照上述第3点实战版检查,避免重复无用功。

        4.2 Jmeter Master 主控制机器 配置修改

修改配置文件:jmeter.properties

# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true

# Remote Hosts - comma delimited
remote_hosts=192.168.242.129

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第4张图片

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第5张图片

PS:Master配置时可不配置Salve服务端的端口号;若需要添加多个用英文逗号“,”间隔

        4.3 Jmater Slave 从执行机器 配置修改

1、修改配置文件:jmeter.properties

# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true

2、启动Jmeter Slave服务器 

方法一,直接调用Jmeter服务

jmeter-server

方法二,Jmeter服务指定ip

jmeter-server -Djava.rmi.server.hostname=192.168.242.129

3、启动从服务器成检查

启动服务关键点说明

192.168.242.129:46040

ip地址
prot端口号

5、Jmeter分布式 实战操作

        倘若上面上面部署一切正常,未见其他任何问题配置到此结束呢,开始实战了

Master主控制的Windows机器启动Jmeter并点击 Run > Remote State 查看从配置机器。

        Jmeter分布式 GUI操作说明

GUI操作说明

英文 中文
Remote Start 远程启动
Remote Start All 远程启动所有
Remote Stop 远程停止
Remote Stop All 远程停止所有
Remote ShutDown 远程关机
Remote ShutDown All 远程关机所有
Remote Exit 远程退出
Remote Exit All 远程所有

        5.1 Jmeter分布式 Master机器

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第6张图片

 查看结果树

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第7张图片

 查看数据表格报告性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第8张图片

        5.2 Jmeter分布式 Slave机器

被控制启动和完成日志打印 

        5.3 Jmeter分布式 Grafana性能数据报告

                Jmeter进行分布式性能测试时执行过程会将性能测试数据插入InfluxDB时序数据库,Grafana直接读取数据库即完成性能测试数据汇总展示。

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第9张图片

Grafana数据看板报告

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第10张图片

        5.4 Jmeter + InfluxDB + Grafana 配置教程

Jmeter配置

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第11张图片

 详细配置请参考

https://blog.csdn.net/qq_25305833/article/details/122178613

性能测试 性能测试实战(五)Jmeter + influxDB + Grafana Jmeter性能测试环境搭建 influxDB 序列数据库 Grafana 格拉法拉 度量分析与可视化平台_Benjamin CSDN博客-CSDN博客

6、Jmeter分布式 实战总结

1、主从配置,Master控制Salve节点服务器,Jmeter-Server服务器

2、脚本下发,有Master主服务下发至Salve从服务器

3、数据汇总,Jmeter自带报告统计或jtl或Html报告

4、数据看板,Jmeter + influxDB + Grafana

5、配置文件:jmeter.properties

6、日志文件:jmeter.log


三、Jmeter分布式 实战问题

1、Jmeter分布式 实战问题描述

        实际进行Jmeter分布式部署时,可能会遇到很多配置五花八门奇怪的问题,列举常规的问题解决说。请注意查看上述 二 3、4 的红色文字说明。

        主要列举 Linux调用Windows中的不行,一开始采用是这个方案,失败了很多次,最终得出结论版本号不一致。

2、Slave从服务器 jmeter.log 问题分析定位

问题描述:Jmeter Master和Salve连接成功并下发任务提示执行后,无性能测试结果返回。或 Jmeter 从服务器执行成功后未回调主服务器,主服务器卡执行结果。

解答:高版本控制低版本不兼容,字符串编码不兼容。请检查环境配置。

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第12张图片

3、Jmeter分布式性能测试之 "no such object in table"

提示信息

no such object in table

Windows截图

 解决方法:去掉配置文件jmeter.properties中端口号

# Remote Hosts - comma delimited
remote_hosts=192.168.242.129
#remote_hosts=localhost:1099,localhost:2010

4、Jmeter分布式部署其他问题

Nothing. Request a search

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第13张图片

 实战过程中遇到的问题远不止此,加油,你可以的。


四、结束语

真正的勇士

性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析_第14张图片


如果觉得文章写不错,那就点个赞,点个收藏吧。

可关注微信公众号,后期有推文


你可能感兴趣的:(性能测试,入门到精通,性能测试,Jmeter分布式性能测试,高并发测试,分布式,Jmeter)