0%

Mac下的Jmeter使用及踩坑

前言

在定位Bug时,有时候我们需要进行并发测试,而之前我只接触过Postman,在CSDN上也有一帮人在抄来抄去说Postman可以使用Collection做并发测试。但这是错的!!!!

Postman不能做并发测试!!!!!

所以我们可以用到一个强大的工具——Jmeter。

简介

根据Wiki,Jmeter的简介如下:

JMeter是一个Apache项目,可用作负载测试工具,以分析和测量各种服务的性能,重点是Web应用程序。JMeter可用作JDBC数据库连接,FTP,LDAP,Web服务,JMS,HTTP,通用TCP连接和OS本机进程的单元测试工具

使用

下载安装

进入Jmeter的官网下载地址,可以看到这里有两种文件形式。

在这里我们选择二进制形式的压缩包,下载后解压。将解压后的文件移动到自己的工作目录。比如我是~/myspace/下。

使用

进入jmeter的bin文件夹,运行jmeter.sh文件(如果说windows,则是jmeter.bat)

1
sh jmeter.sh

这时会打开JMeter的图像界面。

HTTP并发测试

右键点击Test Plan,选择Add – Threads – Thread Group。

在Thread Properties – Number of Threads 里输入100,表示100个并发线程。

接着右键Thread Group,选择Add – Sampler – HTTP Request,表示HTTP请求测试。我是想对127.0.0.1:8080/in这个接口做测试,所以设置如下:

设置完成后,点击菜单栏的Start即可。

使用优化

设置中文

Jmeter是支持中文的,在Option – Choose Language 里选择 Chinese(Simplify) 即可设置为中文简体。
但以上方式只是一次性的,下次启动就不生效了。长期设置可以参考下面这个方法:

进入Jmeter的bin目录,编辑jmeter.properties 在最后一行添加如下代码:

1
language=zh_CN

再重新打开也是中文页面了。

启动优化

每次打开Jmeter都需要进入他的路径,比较繁琐,于是我们可以通过设置环境变量的方式,使我们可以通过一个简单的jmeter命令即可打开。

1
vim ~/.bash_profile

增加以下内容:

1
2
3
4
export JMETER_HOME=/Users/ceaser/myspace/apache-jmeter-5.4.1   # 这里填你自己的jmeter的路径名
export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar

在source一下就好了。

崩溃修复

不知道什么情况,Jmeter总是在运行不久就崩溃并闪退。报错如下:

1
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[AWTView keyboardInputSourceChanged:]: unrecognized selector sent to class 0x130a695e8'

百般寻觅,终于在这里,找到了一丝头绪,
可能是Java版本造成的问题

我本地使用的Java 版本是11.0.11。将其换成11.0.8后,问题解决!!!

-------------------本文结束 感谢阅读-------------------