什么是Jmeter ?Jmeter使用的原理步骤是什么?

1.1 什么是 JMeter

Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。

Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl 脚本,java 对象,数据库和查询,FTP 服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

1.2 为什么是 JMeter

为什么选择 JMeter,下面看看 JMeter 的特色。

1. 开源许可: Jmeter 是完全免费的,并提供了源码可供自定义开发

2. 图形界面模式:提供了方便的图形界面来编辑和开发测试脚本

3. 平台无关:可以轻易在 windows、linux、mac 上运行

4. 多线程框架:通过线程组,能够轻易地设置不同测试的并发用户。

5. 图形测试结果:提供了图表、表格、树、文件等格式的结果显示。

6. 易于安装:jmeter 不需要安装,下载解压即可用。

7. 高扩展性:jmeter 支持用户自定义测试脚本,同样还提供了各种插件。

8. 多测试类型支持:支持性能测试、分布式测试、功能测试

9. 仿真模拟:支持多用户并发测试

10. 多协议支持:支持 http、jdbc、ldap、soap、jms、ftp 等等协议

11. 录制&回放:支持用 badboy 或 jmeter 录制

12. 脚本测试:jmeter 支持 beanshell 和 selenium

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

1.3 JMeter 工作原理

JMeter 基本工作原理如图:

JMeter 完整的工作原理如图:

1.4 总结

本次对 jmeter 进行了简单的基本介绍,主要让大家对 jmeter 有个基本的了解。

第二篇 JMeter 目录及关键配置分析

2.1 前言

学习一种工具,首先得对其关键配置及目录等有一个基本的了解,这样能更方便地深入掌握该工具,下面我们就 JMeter 的目录及相关关键配置进行分析说明。

2.2 下载安装

1. 安装主程序

从 Apache JMeter 官网下最新版本:

http://jmeter.apache.org/download_jmeter.cgi

下载后直接解压即可。

2. 安装插件管理


https://jmeter-plugins.org/install/Install/ 或 https://jmeter-plugins.org/downloads/all/ 下载插件管理包,如图:

将下载的包放至 jmemter 解压根目录的 lib/ext 下后重启jmeter即可。

2.3 目录说明

先看一下解压后的 JMeter 安装目录:

目录说明:

backups: 包含jmeter对测试计划的自动备份保存

 bin: 包含启动、配置等相关命令

 docs: 官方本地文档目录

 extras: 辅助库

 lib: 核心库,包含 JMeter 用到的各种基础库和插件

 licenses: 包含 non-ASF 软件的许可证

 printable_docs: 可打印版本文档目录

 LICENSE: JMeter 许可说明

 NOTICE: JMeter 简单信息说明

 README.md: JMeter 官方基本介绍

下面我们重点看下 bin 目录,如图:

主要介绍 bin 目录下我们最关注几个文件:

 jmeter.properties: JMeter 核心配置文件,各种配置基本在这完成

 log4j.conf: JMeter 日志配置管理

 jmeter.log: JMeter 运行日志记录,什么输出信息、警告、报错都在这里进行了记录

 jmeter.bat: windows 下 jmeter 启动文件

 shutdown.cmd: windows 下 jmeter 关闭文件

 stoptest.cmd: windows 下 jmeter 测试停止文件

 jmeter-server.bat: windows 下 jmeter 服务器模式启动文件

注:每一个.cmd 文件都对应一个.sh 文件,.sh 是 linux 下的对应功能的文件,其他文件的功能就不一一说明了,同时其他目录这里也不再进行阐述,有兴趣的可以自己深入看下。

2.4 关键配置说明

1. jmeter.properties 配置说明

主要包含以下几个方面的配置:

SSL 配置:

重点关注下面几个配置

# 指定 HTTPS 协议层

https.default.protocol=TLS

# 指定 SSL 版本,实际应用中可能需要修改

https.default.protocol=SSLv3

# 设置启动的协议

https.socket.protocols=SSLv2Hello SSLv3 TLSv1

# 缓存控制,控制 SSL 是否可以在多个迭代中重用

https.use.cached.ssl.context=true

JMeter 界面显示配置

这里就不对其界面显示控制进行说明了,一般情况下默认界面能满足大家的应用了。

JMeter 测试项目自动备份配置

# 设置是否启用自动备份,默认是 true

jmeter.gui.action.save.backup_on_save=true

# 设置自动备份目录,默认备份至 JMeter 根目录的 backups下

jmeter.gui.action.save.backup_directory=

# 设置自动备份项目数,默认为最近 10 个

jmeter.gui.action.save.keep_backup_max_count=10

远程主机配置

# 配置远程主机的 IP,默认为本机。用逗号","可以设置多个远程主机

remote_hosts=127.0.0.1

# 多个远程主机指定示例如下,其中:后为端口

remote_hosts=127.0.0.1:1099,127.0.0.1:1200,127.0.0.1:1300

对于 RMID 的配置请直接看配置文件中的选项说明

日志管理配置

# 设置日志格式

log_format_type=default

# 设置日志输出级别

log_level.jmeter=INFO

# 设置 junit 日志输出级别

log_level.jmeter.junit=DEBUG

# 设置日志输出目标文件,默认为 jmeter.log

log_file=jmeter.log

等等其他还有 10 多个配置大项(就不一一列举了)

jmeter.bat 关键配置修改

为了更优化的使用 jmeter,需要对 jmeter.bat 中的一些配置根据当前机器的配置进行优化,这里进行关键配置项说明,找到这些配置,对其中的数值根据当前机器的硬件配置来修改。

set HEAP=-Xms2048m -Xmx2048m

set NEW=-XX:NewSize=512m -XX:MaxNewSize=512m

set SURVIVOR=-XX:SurvivorRatio=8 -

XX:TargetSurvivorRatio=50%

set TENURING=-XX:MaxTenuringThreshold=2

if %current_minor% LEQ "8" (

rem Increase MaxPermSize if you use a lot of Javascript in

your Test Plan :

set PERM=-XX:PermSize=512m -

XX:MaxPermSize=1024m

)

2.5 启动 jmeter

在 bin 目录下直接双击 jmeter.bat 即可

启动后的界面如下:

2.6 总结

本次就 jmeter 的安装和配置及关键配置项进行了分享,大家可以深入的去研究下其他的一些配置,以便进一步的熟悉 jmeter 的原理和应用。

今天的分享就到此结束了,大家还有什么不懂的可以评论区下留言哈,如果我的文章对你有所帮助的话,可以点赞三联支持一下

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

青藏高原1-km分辨率生态环境质量变化数据集(2000-2020)

青藏高原平均海拔4000米以上,人口1300万,是亚洲九大河流的源头,为超过15亿人口提供淡水、食物和其他生态系统服务,被誉为地球第三极和亚洲水塔。然而,在该地区的人与自然的关系的研究是有限的,尤其是在精细…

PgSQL-内核特性-TupleTableSlotOps

PgSQL-内核特性-TupleTableSlotOps 执行器中表达式结果、函数结果、投影结果等,各种结果都需要以元组的形式返回,所以PgSQL引入了一种通用格式保存数据:TupleTableSlot。PgSQL执行器将记录存储到“元组表”中在各个算子之间进行传递&#xff…

【神经网络可视化】 梯度上升,可视化工具,风格转移

可视化可以帮助我们更好的理解卷积网络每一层学到了什么,或者说每一个卷积核究竟学到了什么,他是怎么理解图像的 这种的话当我们神经网络结果不太好时,我们可以分析不好的原因 图片来源于李飞飞老师的内容 梯度上升方法做可视化 文章目录 …

BUUCTF reverse wp 21 - 30

[ACTF新生赛2020]rome 无壳, 直接拖进IDA32 y键把v2改成char[49], n键重命名为iuput int func() {int result; // eaxint v1[4]; // [esp14h] [ebp-44h]char input[49]; // [esp24h] [ebp-34h] BYREFstrcpy(&input[23], "Qsw3sj_lz4_Ujwl");printf("Please…

力扣 -- 44. 通配符匹配

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:bool isMatch(string s, string p) {int ms.size();int np.size();//为了调整映射关系s s;p p;//多开一行多开一列vector<vector<bool>> dp(m1,vector<bool>(n1,false));//初始化//dp[0]…

Mysql——三、SQL语句(上篇)

Mysql 一、SQL语句基础1、SQL简介2、SQL语句分类3、SQL语句的书写规范 二、数据库操作三、MySQL 字符集1、变量2、utf8和utf8mb4的区别 四、数据库对象五、SELECT语句1、简单的SELECT语句2、SQL函数2.1 聚合函数2.2 数值型函数2.3 字符串函数2.4 日期和时间函数2.5 流程控制函数…

JAVA:实现Excel和PDF上下标

1、简介 最近项目需要实现26个小写字母的上下标功能,自己去网上找了所有Unicode的上下标形式,缺少一些关键字母,顾后面考虑自己创建上下标字体样式,以此来记录。 2、Excel Excel本身是支持上下标,我们可以通过Excel单元格的样式来设置当前字体上下标,因使用的是POI的m…

Object.defineProperty()方法详解,了解vue2的数据代理

假期第一篇&#xff0c;对于基础的知识点&#xff0c;我感觉自己还是很薄弱的。 趁着假期&#xff0c;再去复习一遍 Object.defineProperty(),对于这个方法&#xff0c;更多的还是停留在面试的时候&#xff0c;面试官问你vue2和vue3区别的时候&#xff0c;不免要提一提这个方法…

【知识点】JavaScript中require的一些理解

以下内容源自个人理解&#xff0c;若有错误欢迎指出。 猜想 多个文件中require同一个文件时&#xff0c;对于首次出现的require&#xff0c;会去读取文件并执行一遍&#xff0c;然后加入缓存&#xff1b;之后当再次require到这个文件时&#xff0c;只会指向这个缓存&#xff0c…

Django(21):使用Celery任务框架

目录 Celery介绍Celery安装Celery使用项目文件和配置启动Celery编写任务调用异步任务查看任务执行状态及结果 设置定时和周期性任务配置文件添加任务Django Admin添加周期性任务启动任务调度器beat Flower监控任务执行状态Celery高级用法与注意事项给任务设置最大重试次数不同任…

px4的gazebo仿真相机模型报错解决办法,返回值256

&#x1f449;事情起因&#xff1a;我想做关于PX4无人机的摄像头仿真&#xff0c;根据PX4的官网文件 Tools/sitl_gazebo文件夹里面有对应的模型可以使用&#xff0c;我就想在mavros_posix_sitl文件里面修改vehicle参数&#xff0c;比如直接将vehicle“iris_stereo_camera”。然…

PyTorch 模型性能分析和优化 — 第 1 部分

一、说明 这篇文章的重点将是GPU上的PyTorch培训。更具体地说&#xff0c;我们将专注于 PyTorch 的内置性能分析器 PyTorch Profiler&#xff0c;以及查看其结果的方法之一&#xff0c;即 PyTorch Profiler TensorBoard 插件。 二、深度框架 训练深度学习模型&#xff0c;尤其是…

Springboot中使用拦截器、过滤器、监听器

一、Servlet、Filter&#xff08;过滤器&#xff09;、 Listener&#xff08;监听器&#xff09;、Interceptor&#xff08;拦截器&#xff09; Javaweb三大组件&#xff1a;servlet、Filter&#xff08;过滤器&#xff09;、 Listener&#xff08;监听器&#xff09; Spring…

嵌入式Linux应用开发-面向对象-分层-分离及总线驱动模型

嵌入式Linux应用开发-面向对象-分层-分离及总线驱动模型 第八章 驱动设计的思想&#xff1a;面向对象/分层/分离8.1 面向对象8.2 分层8.3 分离8.4 写示例代码8.5 课后作业 第九章 驱动进化之路&#xff1a;总线设备驱动模型9.1 驱动编写的 3种方法9.1.1 传统写法9.1.2 总线设备…

QT信号槽

目录 信号槽的概念 按钮的常用信号 自定义槽函数 自定义信号函数 自定义槽和信号注意的事项 信号与槽的拓展 lambda表达式 信号槽的概念 信号槽是Qt框架引以为豪的机制之一。所谓信号槽&#xff0c;实际就是观察者模式。当某个事件发生之后&#xff0c;比如&#xff0c…

布隆过滤器Bloom Filter

本章代码gitee仓库&#xff1a;布隆过滤器 文章目录 0. 前言1. 布隆过滤器的概念2. 布隆过滤器的实现2.1 哈希函数2.2 插入和判断 3. 布隆过滤器的删除4. 布隆过滤器的误判 0. 前言 我们在玩某款游戏的时候&#xff0c;刚注册的话&#xff0c;我们需要取一个昵称&#xff0c;这…

【Java】复制数组的四种方式

1. System.arraycopy() 用来将一个数组的&#xff08;一部分&#xff09;内容复制到另一个数组里面去。 定义&#xff1a; void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);例&#xff1a; int[] arr1 { 1, 2, 3, 4, 5 }; int[] arr2 new…

CSS详细基础(四)显示模式

本帖开始介绍CSS中更复杂的内容 目录 一.显示模式 1.行内元素 2.块级元素 3.行内块元素 二.背景样式 一.显示模式 顾名思义&#xff0c;在CSS中&#xff0c;元素主要有3种显示模式&#xff1a;行内元素、块级元素、行内块元素~ 所谓块级元素&#xff0c;指的是该元素在…

ROS2 从头开始​​:第6部分 - ROS2 中的 DDS,用于可靠的机器人通信

一、说明 在这篇文章中,我们将重点关注 ROS 2的通信栈DDS,其中这是介于管理节点通信与控制节点通信环节,是上位机决策体系与下位机的控制体系实现指令-执行-反馈的关键实现机制。 二、ROS工程的概念框架 现代机器人系统非常复杂,因为需要集成各种类型的传感器、执行器和其…

Vue封装全局SVG组件

1.SVG图标配置 1.安装插件 npm install vite-plugin-svg-icons -D 2.Vite.config.ts中配置 import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from path export default () > {return {plugins: [createSvgIconsPlugin({// Specify the icon fo…