ycsb是一個非常方便的針對Distributed File System的測試載入器:https://github.com/brianfrankcooper/YCSB
特點:
1 可以任意設定讀寫比例、線程數量,列印結果比較詳細
2 它是hbase等nosql官方jira上面的測試標準,與人交流時ycsb的測試資料最能說明問題
缺點:
1 每次測試時資料需要重新寫入,否則讀取時選取不了正確的key值,導致記憶體命中率低
2 key值分布不均勻,節點多資料少時,會導致傾斜
3 線程多時有bug
安裝
ubuntu9.10
mongo2.0.2
首先編譯java檔案
進入ycsb根目錄
ant
我們使用的是mongo
ant dbcompile-mongodb
編譯mongo環境
如果沒有successfully
build編譯成功
運行命令
java -cp build/ycsb.jar:db/mongodb/lib/* com.yahoo.ycsb.CommandLine
-p hosts=localhost -db com.yahoo.ycsb.db.MongoDbClient
如果顯示如下說明串連成功
YCSB Command Line client
Type "help" for command line help
Start with "-help" for usage info
new database url = localhost:10000/mydb
mongo connection created with localhost:10000/mydb
Connected.
插入資料
java -cp build/ycsb.jar:db/mongodb/lib/* com.yahoo.ycsb.Client
-load -db com.yahoo.ycsb.db.MongoDbClient -P workloads/workloada -p columnfamily=f1 -p recordcount=1000000 -p timeseries.granularity=2000 > transactions.dat
transcations.dat可以查看結果
查看mongodbclient參數
java -cp build/ycsb.jar:db/mongodb/lib/* com.yahoo.ycsb.Client
-p -hosts=locahost -load -db com.yahoo.ycsb.db.MongoDbClient -help
執行結果
java
-cp build/ycsb.jar:db/mongodb/lib/*
com.yahoo.ycsb.Client -t -db com.yahoo.ycsb.db.MongoDbClient -P workloads/workloada -p
columnfamily=family -p operationcount=1000000 -s -threads 10 -target 100 -p
measurementtype=timeseries -p timeseries.granularity=2000 > transactions.dat