JMeter分布式压测

news2024/11/18 23:23:13

一、Jmeter4.0分布式压测准备工作

压测注意事项
            the firewalls on the systems are turned off or correct ports are opened.
            系统上的防火墙被关闭或正确的端口被打开。

            all the clients are on the same subnet.
            所有的客户端都在同一个子网上。

            the server is in the same subnet, if 192.x.x.x or 10.x.x.x IP addresses are used. If the server doesn't use 192.xx or 10.xx IP address, there shouldn't be any problems.
            如果使用192.x.x.x或10.x.x.x IP地址,则服务器位于同一子网中。 如果服务器不使用192.xx或10.xx IP地址,则不应该有任何问题。

            Make sure JMeter can access the server.
            确保JMeter可以访问服务器。

            Make sure you use the same version of JMeter and Java on all the systems. Mixing versions will not work correctly.
            确保在所有系统上使用相同版本的JMeter和Java。 混合版本将无法正常工作。

            You have setup SSL for RMI or disabled it.
            您已为RMI设置SSL或将其禁用。

            官网地址 http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html

            压测注意事项:一定要用内网IP,不用用公网IP,用ping去检查

二、压测结构图

            master:司令
            slave:奴隶
            target:目标

三、安装jdk

将jdk安装包放置到java文件下,进行解压

# mkdir /usr/java

# unzip jdk-10.0.2.zip

jdk地址:链接:https://pan.baidu.com/s/1PZKrrHDSmrnwkSfEbQk4kQ   提取码:6dzx

设置环境变量,添加下列信息到尾部

# vi /etc/profile

#set java enviroment
JAVA_HOME=/usr/java/jdk-10.0.2
JRE_HOME=/usr/java/jdk-10.0.2/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

让变量生效

# source /etc/profile

加权限验证

# cd /usr/java/

# chmod -R 775 *

# java -version

四、安装jmeter

新建文件夹

# mkdir /software

将jmeter压缩包上传到目录,进行解压。安装完成

jmeter压缩包地址:链接:https://pan.baidu.com/s/1VlqvoDXLuKVlJ2Qhr5B5zA       提取码:52eu

# tar -zxvf apache-jmeter-4.0.tgz

五、单机压测

新建文件夹

# cd /software

# mkdir jtl script

引入jmx文件,到script目录

# cd /software/script

进入到bin目录,进行压测

# ./jmeter -n -t /software/script/html.jmx -l /software/jtl/result.jtl

非GUI界面,压测参数讲解
             -h 帮助
            -n 非GUI模式
            -t 指定要运行的 JMeter 测试脚本文件
            -l 记录结果的文件 每次运行之前,(要确保之前没有运行过,即xxx.jtl不存在,不然报错)
            -r Jmter.properties文件中指定的所有远程服务器
            -e 在脚本运行结束后生成html报告
            -o 用于存放html报告的目录(目录要为空,不然报错)

/software/script/html.jmx 脚本存放位置

/software/jtl/result.jtl 压测结果存放位置

五、分布式压测

准备三台主机

192.168.96.168    master控制机

192.168.96.169    salve奴隶机

192.168.96.170    salve奴隶机

master机器配置

# vi /software/apache-jmeter-4.0/bin/jmeter.properties

./jmeter -n -t /software/script/html.jmx -R 192.168.96.169:1099 -l /software/jtl/result.jtl

./jmeter -n -t /software/script/html.jmx -R 192.168.96.169:1099 -l /software/jtl/result.jtl -e -o /software/html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/112731.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据科学与工程理论基础复习提纲

一、Sketch 1.1 简单抽样算法 1.1.1 核心思想 对于到达的元素aia_iai​,以概率pM/mpM/mpM/m对该元素的频数加1。 MMM:抽样后的数据流大小mmm:原始数据流大小 1.1.2 操作 更新:当元素aia_iai​到达时,以ppp的概率更…

分库分表:垂直分库、垂直分表、水平分库、水平分表四个概念

文章目录一、分库分表的意义二、垂直分表的思路三、垂直分库的思路四、水平分库的思路五、水平分表的思路一、分库分表的意义 随着公司业务快速发展,数据库中的数据量猛增,访问性能也变慢了,优化迫在眉睫。分析一下问题出现在哪儿呢&#xf…

太强了,阿里内部JDK源码剖析知识手册,由浅入深堪称完美

前言 作为Java程序员,在这里想问问大家在空余时间有没有去读过 JDK 源码,虽然读源码有点自不量力的感觉,(大佬可以忽略这句)但是如若能够经常在空余时间看一下 jdk 源码不仅可以让自己对日常的开发环境了解得更加深刻…

【nowcoder】笔试强训Day3

目录 一、选择题 二、编程题 2.1在字符串中找出连续最长的数字串 2.2 数组中出现次数超过一半的数字 一、选择题 1.以下代码运行输出的是 public class Person{private String name "Person";int age0;} public class Child extends Person{public String gra…

Python json常见用法

目录 导包 api介绍 常见用法 json转python内置对象 字典对象 数组对象 文件读取 python内置对象转json 字典转json 字典转json(压缩存储) 字典转json(美化输出) 文件读取 自定义对象 普通对象 嵌套对象 补充支持 …

设计一个亿级高并发系统架构 - 12306火车票核心场景DDD领域建模

“ 架设一个亿级高并发系统,是多数程序员、架构师的工作目标。 许多的技术从业人员甚至有时会降薪去寻找这样的机会。但并不是所有人都有机会主导,甚至参与这样一个系统。今天我们用12306火车票购票这样一个业务场景来做DDD领域建模。” 开篇 要实现软件…

数据库系统概论第七章(数据库设计)知识点总结(1)—— 概述

本专栏收录了数据库的知识点,而从本文起,将讲述有关于数据库设计有关知识点,提供给有需要的小伙伴进行学习,本专栏地址可以戳下面链接查看 🎈 数据库知识点总结(持续更新中):【数据库…

了解学习node中著名的co模块原理,生成器+promise实现async+await

***内容预警*** 新手内容,菜鸟必看,大佬请绕道 首先 co 是一个npm第三方模块,我们需要npm install 之后才能使用它。 作为一个菜鸟我相信你肯定没有用过这个模块,但是据说这个模块很有名,那么我们就有必要来了解一下它…

35. 池化层 / 汇聚层 代码实现

1. 池化层 在下面的代码中的pool2d函数,我们实现汇聚层的前向传播。 这类似于之前文章中的的corr2d函数。 然而,这里我们没有卷积核,输出为输入中每个区域的最大值或平均值。 from torch import nn from d2l import torch as d2l# X是输入&…

实习------Java基础

基础语法 基本数据类型(熟悉) Java有哪些数据类型 定义:Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。 boolean类型占多少个字节? boolean类型…

【docker】手把手教学docker与docker-compose安装

目录 1、docker安装 2、docker-compose安装 1、docker安装 方式一 https://fanjufei.blog.csdn.net/article/details/123500511https://fanjufei.blog.csdn.net/article/details/123500511 方式二 通过命令行安装。 sudo apt install docker.io sudo systemctl status doc…

linux篇【12】:计算机网络<后序>

一.tcp接入线程池(使用线程池) 1.tcp初步接入线程池 我们设置了对应的任务是死循环,那么线程池提供服务,就显得有不太合适。我们给线程池抛入的任务都是短任务 因为他并没有访问任何类内成员,所以可以把执行方法提到…

智能服务机器人简介

文章大纲 服务机器人上升趋势明显服务机器人核心技术与应用场景目标跟踪人脸识别算法SLAM 即时定位与地图构建(Simultaneous Localization and Mapping,简称SLAM)老人看护手势识别多模态与机器人参考文献与学习路径服务机器人上升趋势明显 服务机器人充分融合机器视觉、语音…

【Redis—持久化】

1.持久化机制 持久化就是把内存的数据写到磁盘中,防止服务宕机导致内存数据丢失。 2.AOF AOF概述 AOF持久化:以独立日志就把该命令。以追加的方式写入到一个文件里,然后重启 Redis 的时候,先去读取这个文件里的命令达到恢复目…

K8S-存储-Volume

问题 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃 时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。…

IDEA 控制台日志中文乱码解决方案

老白新学JAVA,初用IDEA,控制台打印中文总是乱码,网上找了好多解决方法,都不好用,下面记录解决过程。 1.修改idea64.exe.vmoptions ,打开最后一行增加如下代码 idea快捷方式右键->属性->打开文件所有位置&#x…

Redis 性能优化 —— 内存碎片

文章目录一、内存碎片场景描述二、内存碎片概念解析三、内存碎片产生原因四、内存碎片如何判断五、内存碎片解决方案六、内存碎片扩展技能一、内存碎片场景描述 作为内存数据库,内存空间的大小对于 Redis 来说是至关重要的。内存越多意味着存储的数据也会越多&#…

多线程下对象的析构问题

多线程遇上对象析构是个很麻烦的问题,这里我用一个多线程的单例模式去演示一下对象析构的问题 懒汉模式,加锁,线程安全 懒汉模式:需要的时候new一个对象,不需要的时候delete (线程安全的懒汉)单…

服务注册配置中心Nacos

文章目录一. 前言二. 下载安装1. 下载安装包2. Windows环境安装3. Linux环境安装1. 单击模式启动2. 集群模式启动3. 远程web控制4. 注册为系统服务三. 基本使用1. 添加依赖2. 服务注册3. 配置实例集群属性4. 实例权重负载均衡5. 环境隔离6. 临时实例与非临时实例四. Nacos配置管…

Gradle学习笔记之文件操作

文章目录本地文件文件集合文件树文件拷贝归档文件Gradle中的文件操作方式有五种:本地文件、文件集合、文件树、文件拷贝和归档文件。 本地文件 比较简单,API跟java中的完全一致: task("test_file") {doFirst {def f1 file(&quo…