YCSB测试Hbase和MySQL性能
一.YCSB介绍
YCSB(Yahoo! Cloud Serving Benchmark)是雅虎开源的用于测试新式数据库(主要为 NoSQL)性能的框架,使用 Java 实现,可以测试 HBase、Cassandra、Infinispan、MongoDB 、JDBC等等。
YCSB 包括两个部分:
- YCSB 客户端,一个可以扩展的 workload 生成器
- Core workloads,预先配置好的 workloads
二.YCSB使用
1.下载ycsb
YCSB最新版
(这里我们测试的是Hbase和MySql数据库,所以只需要下载对应的压缩包即可)
2.使用Xshell工具传输到linix并解压
tar -zxvf ycsb-hbase20-binding-0.17.0.tar.gz -C /opt/bigdata/
三.测试Hbase
运行一个压力测试需要 6 步:
- 配置需要测试的数据库
- 选择合适的数据库接口层
- 选择合适的 workload
- 选择合适的运行时参数
- 装载数据(loading phase)
- 运行测试(transaction phase)
首先需要选择合适的workload,YCSB工作目录下的workloads下有5种默认的workload
- Workload A:
重更新,50% 读 50% 写 - Workload B:
读多写少,95% 读 5% 写 - Workload C:
只读:100% 读 - Workload D:
读最近更新:这个 workload 会插入新纪录,越新的纪录读取概率越大 - Workload E:
小范围查询:这个 workload 会查询小范围的纪录,而不是单个纪录 - Workload F:
读取-修改-写入:这个 workload 会读取一个纪