有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > TDSQL MySQL版 > 最佳实践 > 选择实例配置和分片配置

TDSQL MySQL版 选型概述

TDSQL MySQL版 由分片(sharding)组成,分片的规格和分片数量决定了 TDSQL MySQL版 实例的处理能力。理论上来讲:
TDSQL MySQL版 实例读写并发性能 = ∑(某规格分片性能 * 某规格分片数量)
TDSQL MySQL版 实例事务性能 = ∑(某规格分片事务性能 * 70% * 某规格分片数量)
因此,分片规格越高、分片数量越多,实例的处理能力越强。而分片性能,主要与 CPU / 内存 相关,并以 QPS 为基础衡量指标,我们在分片性能说明章节,给出了大致性能指标。

TDSQL MySQL版 分片规格的选择

TDSQL MySQL版 分片规格的选择,主要从三个方面需求来决定:1、性能需求;2、容量需求;3、其他要求。
性能需求:通过预判至少6个月的性能规模和可能增长,您可以确定您分布式实例所需总 CPU / 内存 规模。 容量需求:通过预判至少1年的容量规模和可能增长,您可以确定您分布式实例所需总 磁盘 规模。 其他要求:我们建议一个分片至少存储5000万行数据,并考虑到业务中所需的 广播表、单表,和节点内 join 等业务需求。
注意
建议您先确保让单个分片配置较大,而分片数量较少。
综合上述来看,我们预估您可能有如下几种业务特点,推荐策略如下:
使用 TDSQL MySQL版 做功能性测试,且对性能没有特别要求:2个分片,每个分片配置为:内存/磁盘:2GB/25GB
业务发展初期,总数据规模较小但增长快的选型:2个分片,每个分片配置为:内存/磁盘:16GB/200GB
业务发展稳定,根据业务实际情况选型:4个分片,每个分片配置等于:当前业务峰值*增长率/4

TDSQL MySQL版 分片性能测试

数据库基准性能测试为 sysbench 0.5 工具。 修改说明:对 sysbench 自带的 oltp 脚本做了修改,读写比例修改为 1:1,并通过执行测试命令参数 oltp_point_selects 和 oltp_index_updates 控制读写比例,本文测试用例的均采用4个 select 点,1个 update 点,读写比例保持 4:1。
内存(GB)
存储空间(GB)
数据集(GB)
客户端数
单客户端并发数
QPS
TPS
2GB
100GB
46GB
1
128
1880
351
4GB
200GB
76GB
1
128
3983
797
8GB
200GB
142GB
1
128
6151
1210
16GB
400GB
238GB
1
128
10098
2119
32GB
700GB
238GB
2
128
20125
3549
64GB
1T
378GB
2
128
37956
7002
96GB
1.5T
378GB
3
128
51026
10591
120GB
2T
378GB
3
128
81050
15013
240GB
3T
567GB
4
128
96891
17698
480GB
6T
567GB
6
128
140256
26599
此处 TPS 为单机 TPS,并非测试的是分布式事务的 TPS。 根据运营策略要求,当前 TDSQL MySQL版 的(部分)实例都采用闲时超用技术,所以您可能在您的监控中看到 CPU 利用率超过100%的情况。