【P1】Jmeter 准备工作

文章目录

  • 一、Jmeter 介绍
    • 1.1、Jmeter 有什么样功能
    • 1.2、Jmeter 与 LoadRunner 比较
    • 1.3、常用性能测试工具
    • 1.4、性能测试工具如何选型
    • 1.5、学习 Jmeter 对 Java 编程的要求
  • 二、Jmeter 软件安装
    • 2.1、官网介绍
    • 2.2、JDK 安装及环境配置
    • 2.3、Jmeter 三种模式
    • 2.4、主要配置介绍
      • 2.4.1、setenv 配置
      • 2.4.2、jmeter.properties
      • 2.4.3、user.properties
      • 2.4.4、常用命令介绍
    • 2.5、Jmeter 图形端安装
      • 2.5.1、前置条件
      • 2.5.2、参数修改
      • 2.5.3、启动/检测
    • 2.6、Jmeter 服务端安装
      • 2.6.1、前置条件
      • 2.6.2、参数修改
      • 2.6.3、启动&检测
      • 2.6.4、图形端修改
    • 2.7、安装小结
  • 三、Jmeter 常规配置
    • 3.1、设置中文
      • 3.1.1、临时设置中文
      • 3.1.2、永久设置中文
    • 3.2、设置外观(白色)
    • 3.3、中文乱码


一、Jmeter 介绍

1.1、Jmeter 有什么样功能

Apache JMeter 是一个开源、纯 Java、优秀的性能测试工具

能够测试许多不同的应用程序/服务器/协议类型:

  • HTTP、HTTPS

  • REST、SOAP

  • JDBC

  • FTP

  • LDAP

  • JMS 消息类

  • 邮件类(SMTP、POP3、和IMAP)

  • 命令或 shell 脚本

  • TCP

  • Java 请求扩展

主要特性:

  • 可视化设计、功能齐全 (可视化)

  • 快速设计测试计划、简单构建和调试程序 (简易性)

  • 内置八大组件,功能强大,高度灵活设计 (高灵活)

  • 完全、快速的可移植性和 100% Java 纯度 (跨平台)

  • 核心功能高度可扩展,可以快速进行二次开发(高扩展)

1.2、Jmeter 与 LoadRunner 比较

比较点Jmeter 5.xLoadrunner 2021
协议开源协议商业版、社区版(用户数有限制)
安装体积小、易安装体积庞大、安装时间长
跨平台性Java 编写,支持多种操作系统和跨平台操作界面仅支持 windows,压力机支持 Linux
功能性方面比较强大,常用协议使用时与 LR 相差不大非常强大,协议多
界面体验稍弱
脚本录制比较方便非常方便,种类大
测试计划稍弱强大
指标分析界面稍弱界面友好,功能强大
学习成本入门快,学至后面需要掌握 Java 语言入门较快,学至后面需要 C 语言
软件性能中等

总结:

  • 在目前市场来讲,Jmeter 为必备技能、LoadRunner 为加强技能(个人技能)

  • Jmeter 为一款轻量级、跨平台、功能强大的性能测试工具,目前热度已然超过 LoadRunner

1.3、常用性能测试工具

目前市场上性能测试工具多达几十种,笔者选取了几种比较实在的测试工具,供大家参考

性能测试工具使用协议支持协议支持场景化主要用途说明
Jmeter开源多协议http 测试,其它测试JMeter 是 Apache 开源基金会提供的完全开源的性能测试工具,旨在加载测试功能行为和衡量性能。它最初是为测试 Web 应用程序而设计的,但此后已扩展到其他测试功能
LoadRunner商业多协议http 测试,其它测试LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试
Kylinpetl/kylinTOP国产商业多协议http 测试,其它测试奇林性能测试软件(简称:kylinPET,performance emulation tool)是一款功能强大的性能测试工具;界面友好、操作方便,资源占用率低;与 LoadRunner 非常类似
ApacheBench开源http简易性 httpApacheBench 是一个轻量级工具。主要用于 HTTP 协议的性能测试。非常简单快捷,不支持场景化测试
Webbench开源http简易性 httpWebbench 是知名的网站压力测试工具,非常简单快捷,不支持场景化测试
Sysbench开源多协议#数据库基准测试sysbench 是一款开源的多线程性能测试工具,可以执行 CPU/内存/线程/IO/数据库等方面的性能测试
Locust开源httphttp 测试Locust 是易于使用的分布式用户负载测试工具。它旨在对网站进行负载测试,并确定系统可以处理多少个并发用户。非常易用。很方便地基于 Python 进行脚本扩展和业务请求实现

1.4、性能测试工具如何选型

  • ab(ApacheBench)、Webbench 使用场景:简单接口测试,无场景化,无参数化处理,命令行工具
  • Jmter 使用场景:免费+复杂场景化
  • LoadRunner 使用场景:商业+复杂场景化
  • Kylinpet/kylinTOP 使用场景:与 LoadRunner 类似,部分功能更为强大
  • Locust 使用场景:对 Python 熟悉度高,无 UI 设计界面,使用轻量级协程,高并发

工具只是一种形式,无论是性能测试还是功能自动化测试,在学至后面,本质是一种测试编程,工具只是简化了一些功能,但并不能完全替代;Jmeter、LoadRunner 任意掌握一种,就算以后有需要学习其它的,也会变得简单很多

1.5、学习 Jmeter 对 Java 编程的要求

  • Jmeter 中的脚本编程本质上是 Java 的编程,要求对 Java 有一定的掌握

  • 编写 Jmeter 脚本,熟悉 Java 的基本编程即可,如变量定义、数据类型、条件、循环、Map 及 List 的结构……

  • Jmter 的二次开发,对 Java 要求上关注较高,要求熟悉使用 Java 和第三方协议的使用,如 Kafaka,Redis 等

二、Jmeter 软件安装

2.1、官网介绍

官网地址: https://jmeter.apache.org/

下载地址: https://jmeter.apachc.org/download_jmeter.cgi

在这里插入图片描述

2.2、JDK 安装及环境配置

  • JDK 版本要求为 1.8

  • Linux 系统下面环境变量设置

export JAVA_HOME=/home/xiangsl/softwares/jdk1.8.0_161
PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • windows下面环境变量设置
JAVA_HOME=D:\Program Files\Java\jdk1.8.0_261;
PATH=%JAVA_HOME%\bin;.......
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

2.3、Jmeter 三种模式

Jmeter 模式设计测试计划性能压测角色说明说明
GUI 模式图形端与压力机在本机设计测试计划,同时可以作轻量级性能测试
客户端模式命令行模式命令行模式来进行性能压测,使用上快捷方便,跨平台
远程模式图形端与压力机分开远程模式下可以水平扩容,一般配合图形界面使用

2.4、主要配置介绍

2.4.1、setenv 配置

win 下面以 setenv.bat 存在,linux 下面以 setenv.sh 存在,默认不存在,需要手工创建主要是用于配置一些系统环境变量,如 JVM 启动参数,默认语言等

配置详情见官网(1.4 Running JMeter):https://jmeter.apache.org/uscrmanual/get-started.htmI#frunning

2.4.2、jmeter.properties

几乎所有的配置都可以通过该文件进行修改,比较常用的有:19.7 Remote hosts and RMl configuration

配置详情见官网:https://jmeter.apache.org/usermanual/properties_reference.html

2.4.3、user.properties

用户自定义参数,一般用于测试计划;在这里,我们可以定义任何自己需要的参数

2.4.4、常用命令介绍

windows 命令,一般用于图形界面,主要命令如下:

启动命令作用
jmeter.bat图形模式下启动界面(有 cmd 命令框),如果有控制台消息的时候建议使用
jmeterw.cmd图形模式下启动界面(没有 cmd 命令框)
jmeter-server.bat以服务端模式启动
mirror-server.cmd启动一个镜像服务器

linux 命令,一般用于服务端,主要命令如下:

启动命令作用
jmeter图形模式下启动界面(有终端命令框),如果有控制台消息的时候建议使用
jmeter.sh图形模式下启动界面(没有终端命令框)
jmeter-server以服务端模式启动
mirror-server.sh启动一个镜像服务器

2.5、Jmeter 图形端安装

2.5.1、前置条件

操作系统: 不限,一般是win系统居多

JDK: 1.8+

下载后解压至某一文件夹

在这里插入图片描述

2.5.2、参数修改

(1)、在 bin 目录下面增加 setenv.bat 文件

rem This is the content of bin\setenv.bat,rem it will be called by bin\jmeter.bat
set JVM_ARGS=-Xms2g -Xmx2g -Dpropname=longge

这里根据自行调整内存大小,默认为1024m,做大型测试时起步4G
其它参考选项,详见官网(1.4 Running JMeter)
https://jmeter.apache.org/usermanual/get-started.html#running

(2)、修改 jmeter.properties 配置文件

server.rmi.ssl.disable=true
sampleresult.default.encoding=UTF-8  // 未设置的话,采样器结果有可能乱码

2.5.3、启动/检测

(1)、运行 jmeter.bat 或者 jmeterw.cmd 启动

(2)、启动后,打开 cmd,采用如下命令,检测进程详细,如下表示进程存在且参数配置生效

wmic process where caption="java.exe" get processid,caption,commandline /value
wmic process where caption="javaw.exe" get processid,caption,commandline /value

在这里插入图片描述

2.6、Jmeter 服务端安装

2.6.1、前置条件

操作系统: 不限,一般为 Linux 系统居多

JDK: 1.8+

下载后解压至某一文件夹

2.6.2、参数修改

(1)、在 bin 目录下面增加 setenv.sh 文件

#This is the content of bin\setenv.sh,
#it will be called by bin\jmeter.sh
export JVM_ARGS="-Xms2g -Xmx2g -Dpropname=longge"

这里根据自行调整内存大小,默认为 1024m,做大型测试时起步 4G
其它参考选项,详见官网(1.4 Running JMeter)
https://jmeter.apache.org/usermanual/get-started.html#running

(2)、修改 jmeter.properties 配置文件

server.rmi.ssl.disable=true
sampleresult.default.encoding=UTF-8

(3)、修改 jmeter-server 文件

RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.128.166

这里根据主机地址修改

2.6.3、启动&检测

(1)、运行 sh jmeter-server 启动

(2)、启动后,采用如下命令,检测进程详细,如下表示进程存在且参数配置生效

ps -ef|grep longge

缺图

2.6.4、图形端修改

修改 jmeter.properties 文件,多个主机用逗号隔开

remote_hosts=192.168.128.166:1099,192.168.128.167:1099,192.168.128.168:1099

图形端启动后,在 Run/Remote Start 里面能够看到相关主机表示安装成功

2.7、安装小结

(1)、大部分配置采用纯手工修改,一定要细小,注意空格,中英文,端口的影响

(2)、理解 Jmeter 的三种模式的应用场景,对我们后续有比较好的指导意义

三、Jmeter 常规配置

3.1、设置中文

3.1.1、临时设置中文

依次点击 Options <<< Choose Languse <<< Chinese(Simplified)

在这里插入图片描述

3.1.2、永久设置中文

  • 进入 jmeter 安装路径的 bin 目录下,找到 jmeter.properties 文件

在这里插入图片描述

  • 打开 jmeter.properties 文件,找到 #language=en,修改成language=zh_CN,并将前面的 “#” 号去掉,最后保存文件

在这里插入图片描述

  • 最后重新打开 jmeter ,就变成中文了

3.2、设置外观(白色)

依次点击 选项 <<< 外观 <<< Windows

在这里插入图片描述

3.3、中文乱码

(1)、进入 Jmeter 的bin目录下,找到 jmeter.properties 文件

(2)、找到 #sampleresult.default.encoding=UTF-8,将前面的 # 号去掉,并保存

(3)、重启 Jmeter

在这里插入图片描述

  • 一次修改,终身有效

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

外卖项目优化-02-

文章目录 瑞吉外卖项目优化-Day02课程内容前言1. MySQL主从复制1.1 介绍1.2 搭建1.2.1 准备工作1.2.2 主库配置1.2.3 从库配置 1.3 测试 2. 读写分离案例2.1 背景介绍2.2 ShardingJDBC介绍2.3 数据库环境2.4 初始工程导入2.5 读写分离配置2.6 测试 3. 项目实现读写分离3.1 数据…

HTML(四) -- 多媒体设计

目录 1. 视频标签 2. 音频标签 3. 资源标签&#xff08;定义媒介资源 &#xff09; 1. 视频标签 属性值描述autoplayautoplay如果出现该属性&#xff0c;则视频在就绪后马上播放。controlscontrols表示添加标准的视频控制界面&#xff0c;包括播放、暂停、快进、音量等…

【LLM】离线部署ChatGLM-6B模型

目录 前言 准备环境 打包环境 下载/上传模型 部署模型 前言 甲方出手&#xff0c;天下我有&#x1f929;。圆梦了圆梦了~一直想整一台GPU服务器尝尝鲜&#xff0c;奈何钱包空空&#xff0c;虽然有可以在CPU上部署的方案&#xff0c;但效果却不是让人那么满意&#xff0c…

跟着杰哥学强化学习:多臂老虎机问题

多臂老虎机问题 现在有3台外观一模一样的老虎机,每个老虎机的赔率是不同的,摇动一次需要1块钱,现在给你100块钱,如何获取最大的收益。 如果我们知道了每个老虎的赔率,那么只要选择收益最高的那个老虎机就可以了,但现在问题是并不知道每个老虎机的收益。为了简单,我们假…

忆暖行动|“他一个人推着老式自行车在厚雪堆的道路上走,车上带着学生考试要用的司机”

忆暖行动|“他一个人推着老式自行车在厚雪堆的道路上走&#xff0c;车上带着学生考试要用的sj” 一头白发&#xff0c;满山青葱 在那斑驳的物件褶皱中&#xff0c;透过泛黄的相片&#xff0c;掩藏着岁月的冲刷和青葱的时光。曾经的青年早已经不复年轻&#xff0c;但是那份热爱…

Nachos系统的上下文切换

Fork调用创建进程 在实验1中通过gdb调试初步熟悉了Nahcos上下文切换的基本流程&#xff0c;但这个过程还不够清晰&#xff0c;通过源码阅读进一步了解这个过程。 在实验1中通过执行Threadtest&#xff0c;Fork创建子进程&#xff0c;并传入SimpleThread执行currentThread->…

MySQL学习笔记第七天

第07章单行函数 2. 数值函数 2.4 指数函数、对数函数 函数用法POW(x,y)&#xff0c;POWER(X,Y)返回x的y次方EXP(X)返回e的x次方&#xff0c;其中e是一个常数&#xff0c;2.718281828459045LN(X)&#xff0c;LOG(X)返回以e为底的X的对数&#xff0c;当x<0时&#xff0c;返…

Linux Ansible任务控制(循环判断、处理程序、失败任务)

目录 Ansible的Loop循环 简单的Loop循环 数组列表方式的Loop循环 字典方式的Loop循环 基于外部变量的Loop循环 Ansible的When判断 通过魔法变量、事实变量作为条件 通过剧本执行结果的变量来作为条件 Ansible处理程序 Ansible处理失败任务 处理失败任务ignore_error…

Stable Diffusion 本地部署教程不完全指南

ChatGPT免费体验入口网址 http://chat.xutongbao.top 参考链接&#xff1a; ERROR: Could not find a version that satisfies the requirement torch1.7.0 ERROR: No matching……_congcongiii的博客-CSDN博客 下载链接&#xff1a; https://download.pytorch.org/whl/cu11…

KeepChatGPT插件-提效神器,解决ChatGPT报错!

KeepChatGPT插件-提效神器&#xff0c;解决ChatGPT报错&#xff01; 文章目录 KeepChatGPT插件-提效神器&#xff0c;解决ChatGPT报错&#xff01;一、错误提示关于 为何会出现大规模地网络错误二、解决方案三、安装步骤电脑端使用1.Chrome浏览器安装2.Firefox浏览器安装 四、使…

医院信息系统HIS源码——接口技术:RESTful API + WebSocket + WebService

云HIS系统采用SaaS软件应用服务模式&#xff0c;提供软件应用服务多租户机制&#xff0c;实现一中心部署多机构使用。相对传统HIS单机构应用模式&#xff0c;它可灵活应对区域医疗、医疗集团、医联体、连锁诊所、单体医院等应用场景&#xff0c;并提升区域内应用的标准化与规范…

LangChain 2 ONgDB:大模型+知识图谱实现领域知识问答

LangChain 2 ONgDB&#xff1a;大模型知识图谱实现领域知识问答 LangChain 2 ONgDB&#xff1a;大模型知识图谱实现领域知识问答系统截图LangChain代理流程 Here’s the table of contents: LangChain 2 ONgDB&#xff1a;大模型知识图谱实现领域知识问答 LangChain 是一种 LL…

asp.net+sqlserver旅游网站zjy99A2

1&#xff0e;系统登录&#xff1a;系统登录是用户访问系统的路口&#xff0c;设计了系统登录界面&#xff0c;包括用户名、密码和验证码&#xff0c;然后对登录进来的用户判断身份信息&#xff0c;判断是管理员用户还是普通用户。 2&#xff0e;系统用户管理&#xff1a;不管是…

【校招VIP】IT职位校招简历千万不要用两栏的模板,另外,告诉你个陷阱:越个性机会越少

前两天在简历指导的直播里&#xff0c;发现了不应该出现的一种简历格式问题。 有的同学喜欢用那种竖栏两栏的简历模板。 我们建议研发岗的校招&#xff0c;简历不要这么去写。 因为两栏的话&#xff0c;实际上有一个很大的问题。 因为简历上需要写项目经历&#xff0c;需要写…

从Pandas快速切换到Polars :数据的ETL和查询

对于我们日常的数据清理、预处理和分析方面的大多数任务&#xff0c;Pandas已经绰绰有余。但是当数据量变得非常大时&#xff0c;它的性能开始下降。 我们以前的两篇文章来测试Pandas 1.5.3、polar和Pandas 2.0.0之间的性能了&#xff0c;Polars 正好可以解决大数据量是处理的…

国内直接使用的ChatGTP

ChatGTP都能做一些什么事&#xff1a; 回答问题&#xff1a;我可以通过自然语言处理技术来回答用户的问题&#xff0c;提供有用的信息和解决方案。 聊天互动&#xff1a;我可以和用户聊天互动&#xff0c;倾听对话和提供支持。 搜索&#xff1a;我可以搜索互联网和已知的数据…

【Java笔试强训 19】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525;汽水瓶 …

「Bug」解决办法:Could not switchto this profil,无法使用节点的解决方法,彻底解决

♥️作者&#xff1a;白日参商 &#x1f935;‍♂️个人主页&#xff1a;白日参商主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识&#xff0c;和大家一起努力呀&#xff01;&#xff01;&#xff01; &#x1f388;&#x1f388;加油&#xff01; 加油&#xff01…

【五一创作】Scratch资料袋

Scratch软件是免费的、免费的、免费的。任何需要花钱才能下载Scratch软件的全是骗子。 1、什么是Scratch Scratch是麻省理工学院的“终身幼儿园团队”开发的一种图形化编程工具。是面向青少年的一款模块化&#xff0c;积木化、可视化的编程语言。 什么是模块化、积木化&…

1. 安装Open vSwitch环境

1. 安装Open vSwitch环境 1 配置基础环境。 在VMware Workstation软件中创建一个虚拟机VM1&#xff0c;配置2张网卡&#xff0c;虚拟机VM1配置如图4-3所示。将网卡ens33地址配置为192.168.1.131/24&#xff0c;网卡ens34地址配置为192.168.2.131/24。 图4-3 VM1虚拟机配置 2…