JMeter源代码分析
JMeter 源代码分析
简介
JMeter 是一个开源的性能测试工具,主要用于负载测试和性能测量。它的源代码使用 Java 编写,支持多种协议(如 HTTP、FTP、JDBC 等),并提供图形用户界面和命令行模式。核心组件包括测试计划、线程组、取样器、监听器和断言等。通过深入分析源代码,可以理解 JMeter 的设计模式、性能优化和插件机制,这为用户定制和扩展工具提供了基础。
JMeter 源码解读
Jmeter5.1以下使用 Ant ⽅式
- https://github.com/apache/jmeter Download source from https://archive.apache.org/dist/jmeter/source/apache-jmeter-5.1_src.tgz
- tar -xzf apache-jmeter-5.1_src.tgz - Import From Idea - Ant Download Jar - Module Setting Setup: Add Source:protocol, - Update dependence - Ant Build - Open -> NewDriver => build configuration - Run
修改配置:⽤命令⾏修改2个⽂件名, eclipse.classpath改成.classpath,把eclipse.project改成.project
Cd apache-jmeter-5.1 Path,
$ mv ./eclipse.classpath .classpath
$ mv ./eclipse.project .project
JMeter 5.1 以下 Ant ⽅式编译
JMeter 5.1 以下 Ant 方式编译
在项⽬上右键打开 Open Module Settings,在项⽬ src 下点击 protocol ⽂件夹,再点击上⽅ Sources 按钮,点击 Apply。
点击 Dependencies,删除所有报错的 jar 包;
重新添加新下载的 jar 包:右侧 + ,选择 JARs or directories, 依次选择源码⽬录下的 lib ⽬录和 lib 下的⼏个⽬录,Apply 。
重新双击ant build⾥的install。
JMeter 5.1 以下 Ant ⽅式编译
JMeter 的启动类是 NewDriver,双击shift键,搜索到这个类,
运⾏会报错找不到路径。
JMeter 启动类中默认找 parent ⽬录,
需要⼿动在 VM options 中配置 Jmeter 运⾏时的 home 路径。
填⼊ -Djmeter.home= /Users/xs/Desktop/TesterHome/Demo/6/code/apache-jmeter-5.1
Org.apache.jmeter.NewDriver
JMeter 5.3 后采⽤ Gradle 的⽅式
Mac Idea 2018 以后版本,open build.gradle.kts
JMeter 源码讲解
JMeter 源码讲解
启动⼊口 - Newdriver
JMeter 源码讲解
org.apache.jmeter.JMeterEngine + org.apache.jmeter.engine.StandardJMeterEngine
JMeter 源码讲解
Thread Group
JMeter 源码讲解分布式
Remote Server