一. 准备客户端访问实现
// TODO 还没上传
打包为 ApacheJMeter_couchbase.jar , 放到 $JMETER_HOME/lib/ext 目录下
ll lib/ext/
total 2764
-rw-r--r-- 1 root root 528083 Mar 5 16:39 ApacheJMeter_components.jar
-rw-r--r-- 1 root root 1117355 Mar 5 16:39 ApacheJMeter_core.jar
-rw-r--r-- 1 root root 21890 Mar 12 11:25 ApacheJMeter_couchbase.jar
-rw-r--r-- 1 root root 15075 Mar 5 16:39 ApacheJMeter_ftp.jar
-rw-r--r-- 1 root root 82970 Mar 5 16:39 ApacheJMeter_functions.jar
-rw-r--r-- 1 root root 464141 Mar 5 16:39 ApacheJMeter_http.jar
-rw-r--r-- 1 root root 42126 Mar 5 16:39 ApacheJMeter_java.jar
-rw-r--r-- 1 root root 52762 Mar 5 16:39 ApacheJMeter_jdbc.jar
-rw-r--r-- 1 root root 73966 Mar 5 16:39 ApacheJMeter_jms.jar
-rw-r--r-- 1 root root 22350 Mar 5 16:39 ApacheJMeter_junit.jar
-rw-r--r-- 1 root root 50083 Mar 5 16:39 ApacheJMeter_ldap.jar
-rw-r--r-- 1 root root 70619 Mar 5 16:39 ApacheJMeter_mail.jar
-rw-r--r-- 1 root root 26260 Mar 5 16:39 ApacheJMeter_mongodb.jar
-rw-r--r-- 1 root root 50301 Mar 5 16:39 ApacheJMeter_monitors.jar
-rw-r--r-- 1 root root 14638 Mar 5 16:39 ApacheJMeter_native.jar
-rw-r--r-- 1 root root 128539 Mar 5 16:39 ApacheJMeter_report.jar
-rw-r--r-- 1 root root 30119 Mar 5 16:39 ApacheJMeter_tcp.jar
将其他依赖包放入 $JMETER_HOME/lib 下
二. 准备测试配置
这一步可通过GUI完成. 其中 Java Request 即为自己的客户端实现.
分别在线程及线程组级别添加 Aggregate Report 和 Generate Summary Results 来收集访问日志
配置完成后如下:
将结果保存为jmx文件, 为使用方便,可放在 $JMETER_HOME/bin 目录下
三. 测试
测试前可在 jmx 文件中按需修改线程数, 每个线程循环访问次数等配置. 确定后运行测试:
sh jmeter.sh -t couchbaseClient_jsdk2.jmx -n -l sample2.log -j jmeter.log
将结果生成图片:
sh generatepng.sh /tmp/jsdk2_thread ResponseTimesOverTime $THREAD $LOOP
# cat generatepng.sh
#!/bin/bash
JTL=$1
PLUGINTYPE=$2
THREAD=$3
LOOP=$4
CLASSPATH=/root/z/couchbase/apache-jmeter-2.12/lib/*:/root/z/couchbase/apache-jmeter-2.12/lib/ext/*
java -classpath $CLASSPATH kg.apc.cmd.UniversalRunner --tool Reporter --generate-png $JTL$PLUGINTYPE"_thread_"$THREAD"_loop_"$LOOP.png \
--input-jtl $JTL --plugin-type $PLUGINTYPE --width 1000 --height 600