Hbase性能測試工具之YCSB
最近比較忙,比較少出沒知乎。下午花了點時間寫了一篇"輕量級"的文章,介紹一個性能壓測工具:YCSB,全稱為「Yahoo! Cloud Serving Benchmark」。
它是一個非常方便的針對分散式文件系統的測試工具。
支持如MongoDB、HBase、Redis、Memcached等等很多的NoSQL產品,不僅安裝使用簡單,還能自由擴展測試數據類型和支持的資料庫產品。
YCSB是Hbase等NoSQL官方Jira上面的測試標準,測試報告就很具有說服能力。
1、安裝
不說了,看wiki,很清楚:https://github.com/brianfrankcooper/YCSB/wiki
2、特點明顯:
1)可任意設置壓測的讀寫比例、線程數量,最後的測試報告也比較詳細 。
2)通過YCSB的測試數據報告比較具有說服力。
3、執行命令:
./bin/ycsb load hbase12 -P workloads/workloada -p threads=10 -cp /etc/hbase/conf -p table=usertable -p columnfamily=f1 -p recordcount=10000 -s > result_data/load.dat
4、YCSB主要的屬性
workload:要使用的工作量類,可以選擇讀寫比例、實現類、讀寫請求的分布模式
db:要使用的資料庫類。可選地,這在命令行可以指定(默認:com.yahoo.ycsb.BasicDB)
threads:YCSB客戶端的線程數。可選地,這可以在命令行指定(默認:1)
-p:是傳入的參數
table:是hbase表的名稱
recordcount:裝載進資料庫的初始記錄數
fieldcount:一條記錄中的欄位數(默認:10)
fieldlength:每個欄位的大小(默認:100)
等等,可以通過wiki學習更多屬性
5、結果:
主要關注總的執行時間RunTime、吞吐量Throughput,以及讀和寫的平均延遲等95thPercentileLatency、99thPercentileLatency
報告如下:
[OVERALL], RunTime(ms), 4891550.0
[OVERALL], Throughput(ops/sec), 2044.3417730576198
[TOTAL_GCS_PS_Scavenge], Count, 6344.0
[TOTAL_GC_TIME_PS_Scavenge], Time(ms), 41175.0
[TOTAL_GC_TIME_%_PS_Scavenge], Time(%), 0.8417577250564751
[TOTAL_GCS_PS_MarkSweep], Count, 4.0
[TOTAL_GC_TIME_PS_MarkSweep], Time(ms), 517.0
[TOTAL_GC_TIME_%_PS_MarkSweep], Time(%), 0.010569246966707893
[TOTAL_GCs], Count, 6348.0
[TOTAL_GC_TIME], Time(ms), 41692.0
[TOTAL_GC_TIME_%], Time(%), 0.8523269720231829
[CLEANUP], Operations, 10.0
[CLEANUP], AverageLatency(us), 21001.4
[CLEANUP], MinLatency(us), 14.0
[CLEANUP], MaxLatency(us), 208895.0
[CLEANUP], 95thPercentileLatency(us), 208895.0
[CLEANUP], 99thPercentileLatency(us), 208895.0
[READ], Operations, 9499963.0
[READ], AverageLatency(us), 2315.9316643654297
[READ], MinLatency(us), 252.0
[READ], MaxLatency(us), 1259519.0
[READ], 95thPercentileLatency(us), 4591.0
[READ], 99thPercentileLatency(us), 8783.0
[READ], Return=OK, 9499963
[UPDATE], Operations, 500037.0
[UPDATE], AverageLatency(us), 4667.223299475839
[UPDATE], MinLatency(us), 968.0
[UPDATE], MaxLatency(us), 1213439.0
[UPDATE], 95thPercentileLatency(us), 7747.0
[UPDATE], 99thPercentileLatency(us), 14631.0
[UPDATE], Return=OK, 500037
推薦閱讀:
※Gradle 編譯交互小技巧
※哪家軟體測試教學教得好?
※如何評價 Clean Code 作者對 Swift 與 Kotlin 的看法?
※明天要工作了,我好開心:)