Hbase性能測試工具之YCSB

最近比較忙,比較少出沒知乎。下午花了點時間寫了一篇"輕量級"的文章,介紹一個性能壓測工具:YCSB,全稱為「Yahoo! Cloud Serving Benchmark」。

它是一個非常方便的針對分散式文件系統的測試工具

支持如MongoDB、HBase、Redis、Memcached等等很多的NoSQL產品,不僅安裝使用簡單,還能自由擴展測試數據類型和支持的資料庫產品。

YCSB是Hbase等NoSQL官方Jira上面的測試標準,測試報告就很具有說服能力。

1、安裝

不說了,看wiki,很清楚:github.com/brianfrankco

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 的看法?
明天要工作了,我好開心:)

TAG:性能测试 | HBase | 软件测试 |