📣
TiDB Cloud Essential 开放公测中。此页面由 AI 自动翻译,英文原文请见此处。

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)

  • 集群配置:

    节点类型节点规格节点数量节点存储
    TiDB16 vCPU, 32 GiB2N/A
    TiKV16 vCPU, 64 GiB31000 GiB

参数配置

TiKV 参数 prefill-for-recycle 可以使日志回收在初始化后立即生效。本文档基于不同工作负载进行测试,使用以下 prefill-for-recycle 配置:

  • 对于 oltp_point_select 工作负载,使用 prefill-for-recycle 参数的默认值:

    raft-engine.prefill-for-recycle = false
  • 对于 oltp_insertoltp_read_writeoltp_update_indexoltp_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 性能测试。

  1. TiDB Cloud 控制台中,创建一个满足测试环境要求的 TiDB Cloud Dedicated 集群。

    更多信息,请参见创建 TiDB Cloud Dedicated 集群

  2. 在基准测试执行器上,连接到新创建的集群并创建一个名为 sbtest 的数据库。

    要连接到集群,请参见通过私有端点连接到 TiDB Cloud Dedicated

    要创建 sbtest 数据库,执行以下 SQL 语句:

    CREATE DATABASE sbtest;
  3. 将 Sysbench 数据加载到 sbtest 数据库。

    1. 本文档中的测试基于 sysbench 实现。要安装 sysbench,请参见从源代码构建和安装

    2. 运行以下 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
  4. 运行以下 sysbench run 命令对不同工作负载进行 Sysbench 性能测试。本文档对五个工作负载进行测试:oltp_point_selectoltp_read_writeoltp_update_non_indexoltp_update_indexoltp_insert。对于每个工作负载,本文档使用 ${THREAD} 值为 100200400 进行三次测试。每个并发测试持续 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 工作负载的性能如下:

线程数TPS95% 延迟 (ms)
50353091.93
100648532.00
2001184622.22

Sysbench 点查性能

读写性能

oltp_read_write 工作负载的性能如下:

线程数TPS95% 延迟 (ms)
50121848.3
100223553.9
200338087.6

Sysbench 读写性能

更新非索引性能

oltp_update_non_index 工作负载的性能如下:

线程数TPS95% 延迟 (ms)
1001092811.7
2001998512.8
4003562114.7

Sysbench 更新非索引性能

更新索引性能

oltp_update_index 工作负载的性能如下:

线程数TPS95% 延迟 (ms)
100885414.7
2001441418.6
4002199725.3

Sysbench 更新索引性能

插入性能

oltp_insert 工作负载的性能如下:

线程数TPS95% 延迟 (ms)
100155758.13
2002507811.0
4003843615.6

Sysbench 插入性能

文档内容是否有帮助?