tencent cloud

云数据库 MariaDB

动态与公告
产品动态
产品简介
产品概述
产品优势
应用场景
系统架构
实例类型
实例架构
分布式版本
数据库版本
购买指南
计费概述
产品定价
退费说明
欠费说明
升级计费
备份空间计费
快速入门
创建实例
管理账号
连接实例
操作指南
使用前须知
实例管理
灾备/只读实例
账号管理
读写分离
修改网络
备份与回档
数据迁移
数据库同步(旧版)
安全管理
监控与告警
KILL 线程
参数模板与设置
数据库审计
实践教程
编程与使用规范
分布式版本编程与使用规范
利用热点更新技术应对秒杀场景
安全白皮书
平台侧安全设计
租户侧安全功能
开发指南
功能限制
性能检测
同城双活解决方案
Binlog 日志消费格式
慢查询分析
数据库审计
数据库审计已支持语法
API 文档
History
Introduction
API Category
Making API Requests
Security Group APIs
Other APIs
Account APIs
Parameter Management APIs
Monitoring Management APIs
Instance Management APIs
Backup and Restoration APIs
Data Types
Error Codes
常见问题
产品常见问题
账号登录问题
功能相关问题
性能相关问题
备份相关问题
运维相关问题
磁盘超用问题
IO 类监控项异常问题
通用参考
标准与认证
主要规格性能说明
强同步性能对比数据
词汇表

主要规格性能说明

PDF
聚焦模式
字号
最后更新时间: 2024-01-11 11:16:23

1. 测试工具

数据库基准性能测试为 sysbench 0.5 工具修改说明: 对 sysbench 自带的 otlp 脚本做了修改,读写比例修改为1:1,并通过执行测试命令参数 oltp_point_selects 和 oltp_index_updates 来控制读写比例,本文测试用例的均采用4个 select 点,1个 update 点,读写比例保持4:1。

2. 测试环境

类型
说明
实例物理机器
高 IO 版-单机器最高可支撑488GB内存6T硬盘数据库
实例规格
当前售卖主流配置规格(详见下文测试用例)
客户端配置
4核8GB内存
客户端数量
1 - 6个(配置的提升,客户端数量也需要相应提升)
网络环境
万兆网络机房,网络延时 < 0.05ms
环境负载
安装 mysql 机器负载 > 70%(针对非独占实例)
客户端规格说明:机器采用了较高配置的客户机器,保证单客户端可以压测出数据库实例的性能,如果客户端配置规格较小,建议采用多个客户并行压测实例,然后求取数据总和。
网络延时说明:保证客户端机器与数据库实例在同一可用区,保证测试结果不受网络环境影响。

3. 测试方法

3.1 测试库表结构

CREATE TABLE `sbtest1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`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=utf8;

3.2 测试数据行格式

id: 1
k: 20106885
c: 08566691963-88624912351-16662227201-46648573979-64646226163-77505759394-75470094713-41097360717-15161106334-50535565977
pad: 63188288836-92351140030-06390587585-66802097351-4928296184

3.3 数据准备

/root//sysbench/sysbench --mysql-host=xxxx --mysql-port=xxxx --mysql-user=xxx --mysql-password=xxx --mysql-db=test --mysql-table-engine=innodb --test=tests/db/oltp.lua --oltp_tables_count=20 --oltp-table-size=10000000 --rand-init=on prepare
数据准备参数说明: --test=tests/db/oltp.lua,表示调用 tests/db/oltp.lua 脚本进行 oltp 模式测试。
--oltp_tables_count=20,表示用于测试的表数量为20张。
--oltp-table-size=10000000,表示每个测试表填充数据行数为1000W行。
--rand-init=on,表示每个测试表都是用随机数据来填充的。

3.4 性能压测命令

/root//sysbench/sysbench --mysql-host=xxxx --mysql-port=xxx --mysql-user=xxx --mysql-password=xxx --mysql-db=test --test=/root/sysbench_for_z3/sysbench/tests/db/oltp.lua --oltp_tables_count=xx --oltp-table-size=xxxx --num-threads=xxx --oltp-read-only=off --rand-type=special --max-time=600 --max-requests=0 --percentile=99 --oltp-point-selects=4 run
性能压测参数说明:
--test=/root/sysbench_for_z3/sysbench/tests/db/oltp.lua
--oltp_tables_count=20,表示本次用于测试的表数量为20张。
--oltp-table-size=10000000,表示本次测试使用的表行数均为1000W行。
--num-threads=128,表示本次测试的客户端连接并发数为128。
--oltp-read-only=off ,off 表示测试关闭只读测试模型,采用读写混合模型。
--rand-type=special,表示随机模型为特定的。
--max-time=1800 ,表示本次测试的执行时间。
--max-requests=0 ,0表示不限制总请求数,而是按 max-time 来测试。
--percentile=99 ,表示设定采样比例,默认是95%,即丢弃1%的长请求,在剩余的99%里取最大值。
--oltp-point-selects=4,表示 oltp 脚本中 sql 测试命令,select 操作次数为4,默认值为1。

3.5 场景模型

本文用例均使用场景脚本 our_oltp.lua,修改为4个 select 点查询,1个 update(索引列),读写比为4:1。
针对最大配置类型,对数据场景增加了参数调优模型,测试结果见测试结果。

4. 测试参数

内存
存储空间
表数量
表行数
数据集大小
并发数
执行时间(m)
4GB
200GB
8
4000W
76GB
128
30
8GB
200GB
15
4000W
142GB
128
30
16GB
400GB
25
4000W
238GB
128
30
32GB
700GB
25
4000W
238GB
128
30
64GB
1T
40
4000W
378GB
256
30
96GB
1.5T
40
4000W
378GB
128
30
128GB
2T
40
4000W
378GB
128
30
244GB
3T
60
4000W
567GB
128
30
488GB
6T
60
4000W
567GB
128
30
488GB(调优)
6T
60
1000W
140GB
128
30

5. 测试结果

内存
存储空间
数据集
客户端数
单客户端并发数
QPS
TPS
4GB
200GB
76GB
1
128
4082
816
8GB
200GB
142GB
1
128
6551
1310
16GB
400GB
238GB
1
128
11098
2219
32GB
700GB
238GB
2
128
20484
3768
64GB
1T
378GB
2
128
36395
7279
96GB
1.5T
378GB
3
128
56465
11292
128GB
2T
378GB
3
128
82007
16120
244GB
3T
567GB
4
128
99868
19505
488GB
6T
567GB
6
128
141136
28449
488GB(调优)
6T
140GB
6
128
245408
47201


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈