集群架构
![](//resource.ksyun.com/project/cms/f47208deb5100d08abbb92744fe62c24)
测试资源
资源项目 | 规格 |
发压机 | 32C64G云主机 |
KDRDS实例kingproxy节点1 | 32C64G |
KDRDS实例kingproxy节点2 | 32C64G |
KRDS1 | 48G内存2000G磁盘 |
KRDS2 | 48G内存2000G磁盘 |
KRDS3 | 48G内存2000G磁盘 |
KRDS4 | 48G内存2000G磁盘 |
KRDS5 | 48G内存2000G磁盘 |
KRDS6 | 48G内存2000G磁盘 |
数据模型
数据量: 3000W个数据表(30W个数据库,每个数据库100个表)
数据结构
SQL CREATE TABLE sbtest1 ( id int(10) unsigned NOT NULL, k int(10) unsigned NOT NULL DEFAULT '0', c char(120) NOT NULL DEFAULT '', pad char(60) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY k_1 (`k`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
测试方法
1. 创建原始数据(3000W个数据表)
SQL for create database db1 ~ db30w; create table tb1 ~ t100; insert into tb1 values (1,1,'c','pad');
|
2. 使用sysbench 进行压测
单分片性能对比测试
数据模型
• 单分片上已经有5w个库500w个表
• 创建压测库,准备16个1000w行的表,对压测库中的这16个表进行压测
对比两种场景
• 场景一:通过KDRDS访问压测表
• 场景二:直连KRDS访问压测表
![](//resource.ksyun.com/project/cms/0154bac6790ec2df15c8b6aaa307690b)
命令
Bash # 准备数据 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --tables=16 --threads={8~512} oltp_read_write prepare
# 运行workload # OLTP读写混合 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --rand-type=uniform --tables=16 --time=300 --threads={8~512} --report-interval=20 oltp_read_write run
# OLTP只读场景 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --rand-type=uniform --tables=10 --time=300 --threads={8~512} --report-interval=20 oltp_read_only run
# OLTP只写场景 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --rand-type=uniform --tables=10 --time=300 --threads={8~512} --report-interval=20 oltp_write_only run
# 清理数据 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --tables=16 --time=300 --threads={8~512} oltp_read_write/oltp_read_only/oltp_write_only cleanup |
多分片性能对比测试
![](//resource.ksyun.com/project/cms/7c43c219dfdd51c3b0849da2f049b594)
对比两种场景
• 场景一:6个sysbench通过KDRDS访问分布在6个KRDS上的压测表
• 场景二:6个sysbench直连6个KRDS访问压测表
测试结果
单分片性能对比结果
混合读写
![](//resource.ksyun.com/project/cms/ab9ef120e2971178cb8f43835b199629)
![](//resource.ksyun.com/project/cms/94d782e0ce78284ae5e325e53a7777db)
![](//resource.ksyun.com/project/cms/1ae96acb8a36618cff8f28aab334e8f8)
只读测试
![](//resource.ksyun.com/project/cms/a9aa94dc22d9dc629ada949fcc429a71)
![](//resource.ksyun.com/project/cms/cff57a09342163b0c38048a43da954e7)
![](//resource.ksyun.com/project/cms/4279eb23a6597625869607bf13e9c52c)
只写测试
![](//resource.ksyun.com/project/cms/2e4776792d54fc8adeb563d82ed87d58)
![](//resource.ksyun.com/project/cms/3b67d90e71a39d817aa04430e5e612e5)
![](//resource.ksyun.com/project/cms/4ab4afd8506966bb0333a73071c2070b)
多分片性能对比结果
混合读写
![](//resource.ksyun.com/project/cms/ab9ef120e2971178cb8f43835b199629)
![](//resource.ksyun.com/project/cms/94d782e0ce78284ae5e325e53a7777db)
![](//resource.ksyun.com/project/cms/1ae96acb8a36618cff8f28aab334e8f8)
只读测试
![](//resource.ksyun.com/project/cms/a9aa94dc22d9dc629ada949fcc429a71)
![](//resource.ksyun.com/project/cms/cff57a09342163b0c38048a43da954e7)
![](//resource.ksyun.com/project/cms/4279eb23a6597625869607bf13e9c52c)
只写测试
![](//resource.ksyun.com/project/cms/2e4776792d54fc8adeb563d82ed87d58)
![](//resource.ksyun.com/project/cms/3b67d90e71a39d817aa04430e5e612e5)
![](//resource.ksyun.com/project/cms/4ab4afd8506966bb0333a73071c2070b)
多分片性能对比结果
混合读写
![](//resource.ksyun.com/project/cms/f5635c1cbf10faa05100a3ed30e3c54f)
![](//resource.ksyun.com/project/cms/55745eea85a2d2a2c43a9c774d04ecaf)
![](//resource.ksyun.com/project/cms/8e6df1a21411d5cd6aa2b74fadda71cc)
只读测试
![](//resource.ksyun.com/project/cms/adbc8ae2615baeb90c5f30c54acdf94f)
![](//resource.ksyun.com/project/cms/a209261f21a46d29be2f540254dcf2cc)
![](//resource.ksyun.com/project/cms/0b2d3aff3b1512bc7656985cfcac0572)
只写测试
![](//resource.ksyun.com/project/cms/5f974258cb9da5a6f8e4ecbfd623d898)
![](//resource.ksyun.com/project/cms/434c8db455a6cef97934c607b58b9016)