写此文的初衷是我突发奇想,想写一个抢券秒杀的demo,程序写好了,但是,苦于没有压测工具,于是乎在网上扒拉,经过一番上刀山下火海,一个激灵,茫茫然海,我发现了这货。这货从此诞生在我的设备上了。
很好,很好。
- 开始:
jdk是:jdk1.8.0_271.jdk
jmeter我下载的是
- 安装jdk
傻瓜式安装,你懂的
检查:
java -version # 检查JDK版本
/usr/libexec/java_home -V # 列出所有JDK版本的JAVA_HOME
当我输入后:
bogon:bin zhaojie$ java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
bogon:bin zhaojie$
bogon:bin zhaojie$
bogon:bin zhaojie$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
1.8.0_271, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
说明成功了
- 环境变量配置
如配置过,请忽略此步骤。
打开终端vim .bash_profile 添加如下:
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home # 等号右边的路径目录,可以通过/usr/libexec/java_home -V这个命令得到
export JAVA_HOME=$JAVA_8_HOME # 设置一个中间变量,为了方便多个JDK版本时更换JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH:. #冒号前代表JDK目录下的bin目录,冒号后代表当前目录
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
这里一定得注意;特别是版本这块;如遇到以下报错:
必定是版本问题,我是配置错了
保存,退出
继续在终端中输入source ~/.bash_profile,作用是让这个配置文件在修改后立即生效,最后,输入echo $JAVA_HOME,当输出的JAVA_PATH正确时,证明环境变量已经配置成功了。
4.启动JMeter
下载好的直接解压则可。
Don’t use GUI mode for load testing:这是一段提示信息,不要使用GUI模式进行负载测试,要使用NON GUI模式
实际上,只要配置好Java的环境变量,下载JMeter,即可启动。
配置基本完成,接着测试第一个接口:
10个商品
125个并发
结果很符合预期
125个并发,少了一个,没关系,也就是出现了一号多抢,但是也是截住了,我们查看程序,经过勘查发现6170 uid出现了两次