TiDB Cloud Sysbench v7.1.3 性能测试报告
本文档提供了 TiDB 版本为 v7.1.3 的 TiDB Cloud Dedicated 集群的 Sysbench 性能测试步骤和结果。本报告也可以作为 TiDB Self-Managed v7.1.3 集群性能的参考。
测试概述
本测试旨在展示 TiDB v7.1.3 在在线事务处理(OLTP)场景下的 Sysbench 性能。
测试环境
TiDB 集群
测试在具有以下设置的 TiDB 集群上进行:
集群类型:TiDB Cloud Dedicated
集群版本:v7.1.3
云服务提供商:AWS (us-west-2)
集群配置:
节点类型 节点规格 节点数量 节点存储 TiDB 16 vCPU, 32 GiB 2 N/A TiKV 16 vCPU, 64 GiB 3 1000 GiB
参数配置
TiKV 参数 prefill-for-recycle 可以使日志回收在初始化后立即生效。本文档基于不同工作负载进行测试,使用以下 prefill-for-recycle 配置:
对于
oltp_point_select工作负载,使用prefill-for-recycle参数的默认值:raft-engine.prefill-for-recycle = false对于
oltp_insert、oltp_read_write、oltp_update_index和oltp_update_non_index工作负载,启用prefill-for-recycle参数:raft-engine.prefill-for-recycle = true
基准测试执行器
基准测试执行器向 TiDB 集群发送 SQL 查询。在本测试中,其硬件配置如下:
- 机器类型:Amazon EC2 (us-west-2)
- 实例类型:c6a.2xlarge
- Sysbench 版本:sysbench 1.0.20(使用捆绑的 LuaJIT 2.1.0-beta2)
测试步骤
本节介绍如何逐步执行 Sysbench 性能测试。
在 TiDB Cloud 控制台中,创建一个满足测试环境要求的 TiDB Cloud Dedicated 集群。
更多信息,请参见创建 TiDB Cloud Dedicated 集群。
在基准测试执行器上,连接到新创建的集群并创建一个名为
sbtest的数据库。要连接到集群,请参见通过私有端点连接到 TiDB Cloud Dedicated。
要创建
sbtest数据库,执行以下 SQL 语句:CREATE DATABASE sbtest;将 Sysbench 数据加载到
sbtest数据库。运行以下
sysbench prepare命令,将 32 个表和 10,000,000 行数据导入到sbtest数据库。将${HOST}、${PORT}、${THREAD}和${PASSWORD}替换为你的实际值。sysbench oltp_common \ --threads=${THREAD} \ --db-driver=mysql \ --mysql-db=sbtest \ --mysql-host=${HOST} \ --mysql-port=${PORT} \ --mysql-user=root \ --mysql-password=${PASSWORD} \ prepare --tables=32 --table-size=10000000
运行以下
sysbench run命令对不同工作负载进行 Sysbench 性能测试。本文档对五个工作负载进行测试:oltp_point_select、oltp_read_write、oltp_update_non_index、oltp_update_index和oltp_insert。对于每个工作负载,本文档使用${THREAD}值为100、200和400进行三次测试。每个并发测试持续 20 分钟。sysbench ${WORKLOAD} run \ --mysql-host=${HOST} \ --mysql-port=${PORT} \ --mysql-user=root \ --db-driver=mysql \ --mysql-db=sbtest \ --threads=${THREAD} \ --time=1200 \ --report-interval=10 \ --tables=32 \ --table-size=10000000 \ --mysql-ignore-errors=1062,2013,8028,9007 \ --auto-inc=false \ --mysql-password=${PASSWORD}
测试结果
本节介绍 测试环境中 v7.1.3 的 Sysbench 性能。
点查性能
oltp_point_select 工作负载的性能如下:
| 线程数 | TPS | 95% 延迟 (ms) |
|---|---|---|
| 50 | 35309 | 1.93 |
| 100 | 64853 | 2.00 |
| 200 | 118462 | 2.22 |

读写性能
oltp_read_write 工作负载的性能如下:
| 线程数 | TPS | 95% 延迟 (ms) |
|---|---|---|
| 50 | 1218 | 48.3 |
| 100 | 2235 | 53.9 |
| 200 | 3380 | 87.6 |

更新非索引性能
oltp_update_non_index 工作负载的性能如下:
| 线程数 | TPS | 95% 延迟 (ms) |
|---|---|---|
| 100 | 10928 | 11.7 |
| 200 | 19985 | 12.8 |
| 400 | 35621 | 14.7 |

更新索引性能
oltp_update_index 工作负载的性能如下:
| 线程数 | TPS | 95% 延迟 (ms) |
|---|---|---|
| 100 | 8854 | 14.7 |
| 200 | 14414 | 18.6 |
| 400 | 21997 | 25.3 |

插入性能
oltp_insert 工作负载的性能如下:
| 线程数 | TPS | 95% 延迟 (ms) |
|---|---|---|
| 100 | 15575 | 8.13 |
| 200 | 25078 | 11.0 |
| 400 | 38436 | 15.6 |
