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 自带的 otlp 脚本做了修改,读写比例修改为 1:1,并通过执行测试命令参数 oltp_point_selects 和 oltp_index_updates 控制读写比例,本文测试用例的均采用4个 select 点,1个 update 点,读写比例保持 4:1。
此处 TPS 为单机 TPS,并非测试的是分布式事务的 TPS。
根据运营策略要求,当前 TDSQL MySQL 版的(部分)实例都采用闲时超用技术,所以您可能在您的监控中看到 CPU 利用率超过100%的情况。
本页内容是否解决了您的问题?