1. 下载Java LoadGenerator源码:https://github.com/mikewied/Memcached-Java-Load-Client
2. 编译loadgenerator:#antt
3.编译loadgenerator使用的database,这里选择编译memcached:
#ant dbcompile-memcached
4. Java Load Generator可以通过文件配置要测试的workload。Java Load Generator根目录下的workload文件夹下包含了一些workload的示例。测试分成两步:Load Data和Running the Load Generator。
4.1 Load data
根据使用的数据库类型,执行如下格式的命令即可:
java -cp ./build/ycsb.jar:<path_to_db_jar>com.yahoo.ycsb.LoadGenerator -load -P <path_to_workload_file>
如:
#java-cp ./build/ycsb.jar:./lib/spymemcached-2.7.1.jar:./lib/slf4j-api-1.6.1.jarcom.yahoo.ycsb.LoadGenerator -load -P workloads/workloadb
4.2 Running the Load Generator
根据使用的数据库类型,执行如下格式的命令即可:
#java -cp build/ycsb.jar:<path_to_db_jar>com.yahoo.ycsb.LoadGenerator -t -P <path_to_workload_file>
如:
#java -cp ./build/ycsb.jar:./lib/spymemcached-2.7.1.jar com.yahoo.ycsb.LoadGenerator –t –Pworkloads/workloadb
载入数据时,如果出现以下错误:
Exception in thread "main"java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
atcom.yahoo.ycsb.client.MasterClient.<clinit>(Unknown Source)
atcom.yahoo.ycsb.LoadGenerator.main(Unknown Source)
Caused by:java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
atjava.net.URLClassLoader$1.run(URLClassLoader.java:217)
atjava.security.AccessController.doPrivileged(Native Method)
atjava.net.URLClassLoader.findClass(URLClassLoader.java:205)
atjava.lang.ClassLoader.loadClass(ClassLoader.java:321)
atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
atjava.lang.ClassLoader.loadClass(ClassLoader.java:266)
...2 more
原因:找不到slf4j的jar包,在执行路径上添加该jar包。添加后的命令为:#java-cp ./build/ycsb.jar:./lib/spymemcached-2.7.1.jar:./lib/slf4j-api-1.6.1.jarcom.yahoo.ycsb.LoadGenerator -load -P workloads/workloadb