首页 > 编程知识 正文

jmeter安装配置教程(jmeter 教程)

时间:2023-05-04 00:46:01 阅读:101096 作者:831

JMeter 源代码解读(一)

jmeter是如何启动的

00-1010随着公司业务的快速扩张和爆发式增长,目前的测试工具已经不能更好、更全面地覆盖所有业务和协议,不同业务部门之间的加密方式也不尽相同,因此jmeter工具已经不再适合当前的业务需求。考虑到性能测试、单边jar包和beanshell已经严重限制了性能结果的准确性,本文分析了jmeter的开源代码。为了解决当前的问题,需要为项目定制工具。

00-1010 .了解jmeter的结构

了解jmeter的启动工作原理。

1 背景

10-1010下载地址:http://jmeter.apache.org/download_jmeter.cgi

下载后,解压zip文件。

PS:这里需要注意的是,5.2版本之后,工具维护已经切换,不再采用ant build,而是采用Gradle build,不需要修改文件。

00-1010看源代码结构目录。如下所示:

2 解读源代码目的

dcdkf-包含。蝙蝠和。sh这些文件用于启动JMeter。它还包括ApacheJmeter.jar和相关的配置文件。

由构建脚本创建的目录存储由构建过程生成的一些文件。

Dist-build脚本创建一个饥饿目录来存储最终的输出文件。

文档-JMeter相关目录

其他与额外服务相关的文件

lib-包含JMeter依赖的相关文件。

Src子目录包含支持的协议和相关组件代码。

测试单元测试目录

Xdocs-xml文件用于生成文档,JMeter使用xml生成文档(主要核心思想,后期主要代码讲解要点)

00-1010 ext-包含与JMeter核心和协议相关的jar文件。将这些jar文件分开的原因是,如果它们都放在lib/directory中,启动速度会很慢。

一些可选的jar用于JMeter的一些可选功能。这些JARs只会在构建和运行时引入。用户可以自己下载可选的jar,放在整个目录中。

00-1010 .core-jmeter核心函数和接口的代码目录,分析的重点

组件——一些与协议无关的类,比如协议、GUI组件等。

示例-采样器的一些示例

功能-其他组件将使用的一些标准功能。

JOR phan-公共方法类

协议-不同的协议支持代码

与JUnit测试相关的代码

请检查创意目录与下载目录是否一致。

3 IDEA编译jmeter

上图为杰姆特启动的程序入口。

那么,如果你启动这个程序,你会怎么做?

3.1 jmeter源代码下载

age/1f3677157f84439aa6848d91dd051f80?from=pc">

上图红色全中是jmeter的环境变量检查。

3.3.2 程序初始化

上图就是初始化

下图是我在代码添加了注释,方便阅读

3.3.3 初始化检查通过后,开始执行启动

上图红色圈中解释如下:

这一块涉及了 启动的判断

· jmeter.sh的启动 (这里要分操作系统,有些linux是有GUI界面的,也可以看得见,比如ubuntu,cenos 等,所以不能都认为是非GUI命令)

· jmeter.bat的启动

· jmeter.jar的启动

· jmeter非GUI命令启动

然后开始进行下一步,寻找jar目录,lib,ext等的完整性

3.3.4 主main程序

在3.3.3的步骤中,如果完整性检查通过,则进入程序的main.

这里的程序做了哪些事情呢?

这里的主main需要声明一下

· 先判断一下EXCEPTIONS_IN_INIT 是否为空,如果不为空就表示静态初始化有异常,直接退出进程并打印错误信息。

· 初始化一些基本的日志配置

· 用刚才初始化的 classloader 加载类 org.apache.jmeter.JMeter

· 通过java 反射的方式来调用 org.apache.jmeter.JMeter 的 start 方法,正式完成 JMeter 的启动

下图就是反射调用启动star

以上jmeter启动就结束了。下图是debug的截图

4 总结

1. 了解jmeter的结构,有助于我们要对它进行第二次开发应该注意细节

2. 了解jmeter的启动,阅读代码是理解jmeter工作的最好方式

原创内容,转载请说明出处。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。