一、测试结果
1. Throughput
load
run
2. Latency
load
run
二、测试环境
1. YCSB 版本
2. YCSB 客户端
云厂商: 阿里云
CPU&内存: 16核(vCPU)32 GiB
操作系统: Ubuntu 18.04 64位
实例规格: ecs.hfc7.4xlarge
3. JDBC 驱动器:
Azure:mssql-jdbc-8.4.1.jre11.jar
MyTopling / MyRocks / PolarDB:mysql-connector-java-8.0.26.jar
4. 云数据库:
Azure: Our first test was on a General Purpose database with 4 CPU cores and 20 GB of memory, using Gen5 hardware.
MyTopling / MyRocks / PolarDB: 4核(vCPU)16 GiB / Alibaba Cloud Linux 3.2104 LTS 64位 / ecs.hfg6.xlarge
5. db.properties
配置:
Azure:
1 | db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver |
MyTopling / MyRocks / PolarDB:
1 | com.mysql.cj.jdbc.Driver = |
6. 表
1 | CREATE TABLE usertable ( |
7. 工作负载(Workload)
使用 YCSB 默认之一 workloada,仅修改 recordcount 和 operationcount 值为 10000000。
1 | recordcount=10000000 |
8. 测试输出
所有测试使用的线程数均为 20。
MyTopling
load
1 | [OVERALL], RunTime(ms), 284570 |
run
1 | [OVERALL], RunTime(ms), 426661 |
Azure SQL
load
1 | 未知 |
run
Azure 官方只给出了部分输出,如下
1 | [OVERALL], RunTime(ms), 1089898 |
MyRocks
load
1 | [OVERALL], RunTime(ms), 1019883 |
run
1 | [OVERALL], RunTime(ms), 716470 |
PolarDB
load
1 | [OVERALL], RunTime(ms), 1043218 |
run
1 | [OVERALL], RunTime(ms), 468401 |