前言
本文主要记录使用JMeter对Motan服务进行压力测试的关键步骤和遇到的问题及解决办法。
主要步骤如下:
采坑记录
JMeter 2.13版本与commons-math3、commons-pool2不兼容
报错内容:
The following artifacts could not be resolved: commons-math3:commons-math3:jar:3.4.1, commons-pool2:commons-pool2:jar:2.3: Could not find artifact commons-math3:commons-math3:jar:3.4.1 in central
解决方案一:排包(亲测可行)
参考链接:https://stackoverflow.com/questions/35363948/jars-could-not-be-resolved-for-apache-jmter-2-13-with-maven
<exclusions>
<exclusion>
<artifactId>commons-math3</artifactId>
<groupId>commons-math3</groupId>
</exclusion>
<exclusion>
<artifactId>commons-pool2</artifactId>
<groupId>commons-pool2</groupId>
</exclusion>
</exclusions>
解决方案二:直接升级JMeter依赖到最新版(亲测可行)
https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_java
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>5.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>5.1.1</version>
</dependency>**
由于Jar包签名问题导致JMeter启动失败
报错堆栈:
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:287)
at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:240)
解决方案:去掉Fat Jar的签名文件(亲测可行)
参考链接:http://lichuanyang.top/posts/2478/
可执行Jar的生成
可执行Jar即Runnable Jar的创建生成方式比较多,踩得坑也比较多,最终可行的方案是使用Maven的maven-shade-plugin插件。
POM文件相关关键代码如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>