YCSB的简介和对Cassandra的基准测试
YCSB,意指雅虎云服务基准测试。
YCSB是由美国雅虎研究开发部门雅虎研究开发部开发并作为开源软件发布的一种用于测试NoSQL数据库性能的基准工具。它旨在为不同类型的NoSQL数据库提供通用的负载场景和框架。用户可以自行定义负载场景,但同时也预先定义了五种场景供选择。
WorkloadTitleシナリオの内容想定するアプリケーションWorkload AUpdate heavy workload50%の読み込みと50%の書き込み最近のアクションを記録するセッションストアWorkload BRead mostly workload95%の読み込みと5%の書き込み写真へのタグ付け。タグの追加は更新だが、ほとんどがタグの読み取りWorkload CRead only100%の読み込みユーザ設定のキャッシュWorkload DRead latest workload新しいデータが追記され、新しく追記されたものほど読み込まれやすいユーザの近況アップデート。新しいものほどよく読まれるWorkload EShort rangesデータをレンジで読み込みスレッドに分かれた会話。1回の読み込みは1つのスレッドWorkload FRead-modify-writeデータを読み込み、変更し、書き込むユーザ情報のデータベース
使用YCSB
我們將實際使用YCSB來進行測試。我們將使用Cassandra(2.1.12)作為基準。有關Cassandra安裝的詳細信息請參考相關文章。
请下载并解压YCSB 0.6.0,这是最新版本于2016/2/1发布的。
user@node:~$ wget https://github.com/brianfrankcooper/YCSB/releases/download/0.6.0/ycsb-0.6.0.tar.gz
user@node:~$ tar zxvf ycsb-0.6.0.tar.gz
user@node:~$ cd ycsb-0.6.0/
我们将事先为基准测试创建所需的键空间和表。
user@node:~/ycsb-0.6.0$ cqlsh
cqlsh> CREATE KEYSPACE ycsb
WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 1 };
cqlsh> USE ycsb;
cqlsh:ycsb> CREATE TABLE usertable (
y_id varchar primary key,
field0 varchar,
field1 varchar,
field2 varchar,
field3 varchar,
field4 varchar,
field5 varchar,
field6 varchar,
field7 varchar,
field8 varchar,
field9 varchar);
我们将在Workload A上实际运行基准测试。
user@node:~/ycsb-0.6.0$ ./bin/ycsb load cassandra2-cql -P workloads/workloada -p "hosts=127.0.0.1"
user@node:~/ycsb-0.6.0$ ./bin/ycsb run cassandra2-cql -P workloads/workloada -p "hosts=127.0.0.1"
结果将如下所示[综合], 吞吐量(ops/sec) 将成为本次场景的吞吐量。
[OVERALL], RunTime(ms), 4225.0
[OVERALL], Throughput(ops/sec), 236.68639053254438
[READ], Operations, 482.0
[READ], AverageLatency(us), 3508.0290456431535
[READ], MinLatency(us), 471.0
[READ], MaxLatency(us), 28127.0
[READ], 95thPercentileLatency(us), 9503.0
[READ], 99thPercentileLatency(us), 19791.0
[READ], Return=OK, 482
[CLEANUP], Operations, 1.0
[CLEANUP], AverageLatency(us), 15684.0
[CLEANUP], MinLatency(us), 15680.0
[CLEANUP], MaxLatency(us), 15687.0
[CLEANUP], 95thPercentileLatency(us), 15687.0
[CLEANUP], 99thPercentileLatency(us), 15687.0
[UPDATE], Operations, 518.0
[UPDATE], AverageLatency(us), 2767.6177606177607
[UPDATE], MinLatency(us), 407.0
[UPDATE], MaxLatency(us), 36511.0
[UPDATE], 95thPercentileLatency(us), 7891.0
[UPDATE], 99thPercentileLatency(us), 11415.0
[UPDATE], Return=OK, 518
在中国,只需要一个选项来将以下内容用母语中文进行改写:
参考来源
-
- YCSBでNoSQLのベンチマーク その1
-
- YCSBでNoSQLのベンチマーク その2
-
- ベンチマークツール YCSB メモ
- Benchmarking Cloud Serving Systems with YCSB