New-Order:客户输入一笔新的订货交易;
    Payment: 更新客户账户余额以反映其支付状况;
    Delivery: 发货(模拟批处理交易);
    Order-Status: 查询客户最近交易的状态;
    Stock-Level: 查询仓库库存状况,以便能够及时补货。

一、TIDB集群信息及节点配置

1. TIDB集群信息

类别

集群名称

tidb-test

集群版本

v6.3.0

2. TIDB集群节点配置

机器名称

IP

部署角色

TIDB-VM1

192.168.0.126

pd servers, tidb servers, tikv servers, tiflash servers, monitoring servers, grafana servers, alertmanager servers, cdc servers

TIDB-VM2

192.168.0.127

pd servers, tidb servers, tikv servers, tiflash servers, cdc servers

TIDB-VM3

192.168.0.128

pd servers, tidb servers, tikv servers, cdc servers

3.TIDB集群节点硬件配置

集群每个节点配置均相同,如下表所示:

类别

名称

OS

CentOS Linux release 7.9.2009

CPU

2vCPUs, Intel Xeon E3-12xx v2 @2.60GHz

RAM

6GB

DISK

200GB

4. 测试客户端机器信息

测试机器配置与集群的每个节点的机器硬件配置相同。

机器名称

IP

部署角色

TIDB-TEST-VM

10.11.0.126

TIUP TPC-C测试客户端

二、测试方案

  1. 通过单独的测试机器进行性能测试。
  2. 使用tiup工具对TIDB集群进行TPC-C测试。
  3. 通过 tiup工具导入 9 张表,以10 WAREHOUSE为例进行测试,其中:
    1. stock 表中有1,059,392条记录(每个仓库对应 10 万种商品的库存数据)。
    2. district 表中有100条记录(每个仓库为 10 个地区提供服务)。
    3. customer 表中有303,000条记录(每个地区有 3000 个客户)。
    4. item表中有100,000条数据。
    5. order_line表中有3,058,959条数据。
    6. new_order表中有90,140条数据。
    7. history 表中有312,447条记录(每个客户一条交易历史)。
    8. orders 表中有 312,440条记录(每个地区 3000 个订单),并且最后生成的 900 个订单被添加到 new-order 表中,每个订单随机生成 5 ~ 15 条 order-line 记录。
  4. TPC-C使用 tpmC 值 (Transactions per Minute) 来衡量系统最大有效吞吐量 (MQTh, Max Qualified Throughput),其中 Transactions 以 NewOrder Transaction 为准,即最终衡量单位为每分钟处理的新订单数。
  5. 测试完成之后,销毁测试数据。

三、测试步骤

1. 导入数据

tiup bench tpcc \
-H 192.168.0.127 \
-P 4000 \
-D tpcc \
-p 123123 \
-U root \
-T 16 \
--dropdata \
--warehouses 10 prepare

2. 验证数据正确性

tiup bench tpcc \
-H 192.168.0.127 \
-P 4000 \
-D tpcc \
-p 123123 \
-U root \
--warehouses 10 check   

3. 运行测试

tiup bench tpcc \
-H 192.168.0.127 \
-P 4000 \
-D tpcc \
-p 123123 \
-U root \
--count 1000000 \
--isolation 4 \
--parts 3 \
--time 3000s \
--output table \
-T 16 \
--warehouses 10 run

参数说明:

-H, --host strings          Database host (default [127.0.0.1])\

-P, --port ints             Database port (default [4000])

-D, --db string             Database name (default "test")

-p, --password string       Database password

-U, --user string           Database user (default "root")

-T, --threads int           Thread concurrency (default 1)

--count int             Total execution count, 0 means infinite

--isolation int         Isolation Level 0: Default, 1: ReadUncommitted,

2: ReadCommitted, 3: WriteCommitted,

4: RepeatableRead, 5: Snapshot,

6: Serializable, 7: Linerizable

--parts int            Number to partition warehouses (default 1)

--time duration        Total execution time (default 2562047h47m16.854775807s)

--output string         output style, valid values can be { plain | table | json }

(default "plain")

--warehouses int       Number of warehouses (default 10)

4. 测试完成之后,验证数据正确性

tiup bench tpcc \
-H 192.168.0.127 \
-P 4000 \
-D tpcc \
-p 123123 \
-U root \
-T 16 \
--warehouses 10 check

5. 清理测试数据

tiup bench tpcc \
-H 10.11.0.127 \
-P 4000 \
-D tpcc \
-p N1s=pH@-nT6F*A5728 \
-U root \
-T 16 \
--warehouses 10 cleanup

四、测试结果

1. 测试结果如下图所示

Current部分只展示一部分:

2. 测试参数说明

  1. TAKES(S): 事务的运行时间范围,输出数据的时间减去开始测试时间。
  2. COUNT:   该段时间内完成的事务数。
  3. TPM: 流量指标(tpmC, transactions per minute), 每分钟处理的交易量。
  4. SUM(MS):  事务的请求总用时(ms)。
  5. AVG(MS):  事务的请求平均用时(ms)。
  6. 50TH(MS):  50%事务的请求用时(ms)范围。
  7. 90TH (MS):  90%事务的请求用时(ms)范围。
  8. 95TH (MS):  95%事务的请求用时(ms)范围。
  9. 99TH (MS):  99%事务的请求用时(ms)范围。
  10. 99.9TH (MS): 99.9%事务的请求用时(ms)范围。
  11. MAX(MS):  事务的请求最大用时(ms)。
  12. TPMC: 流量指标(tpmC, transactions per minute, C 指 TPC 中的 C 基准程序):每分钟可以处理的 New-Order 交易的数量。
  13. TPMTOTAL: 每分钟可以处理的全部交易的数量。
  14. EFFICIENCY: efficiency = 100 * tpmC / (specWarehouseFactor * Warehouses数量) , specWarehouseFactor 为每个 warehouse 提供的理论最大事务数, 等于12.86

3. TIDB集群监控指标

3.1 CPU,内存,磁盘等负载

3.2 SQL数量

3.3 数据库时间

TIDB 性能测试(TIUP-TPCC)相关推荐

  1. Mysql性能测试工具tpcc使用

    1.下载tpcc-mysql-src.tgz源码包到/opt下 先执行 gunzip 解压缩文件比如gunzip    然后解包 进入/opt/tpcc-mysql/src    执行 make 进行 ...

  2. centos7开放端口访问不了_基于TiUP cluster 在centos7系统上模拟生产环境部署TiDB数据库...

    概述 今天主要来体验下TiDB 最小的完整拓扑的集群,参照 TiUP 最小拓扑的一个 YAML 文件来部署 TiDB 集群,下面一起来看看吧~ 一.环境要求 最小规模的 TiDB 集群拓扑: 部署主机 ...

  3. 分布式关系型数据库TiDB

    企业级分布式关系型数据库TiDB 一.TiDB简介 TiDB 是 PingCAP 公司受 Google Spanner / F1 论文启发而设计的开源分布式关系型数据库,结合了传统的 RDBMS 和N ...

  4. Tidb集群加mysql_TiDB - 快速入门,集群搭建

    TiDB 是开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式 ...

  5. TiDB监控pd面板显示:Region Health: empty-regin-count很多,怎么回收empty-regin?

    TiDB集群中有大量的 drop/truncate table, create table, drop database 的时候,empty-regin-count会增加. 回收empty-regin ...

  6. TiDB+TiSpark部署--安装,扩缩容及升级操作

    作者: tracy0984 原文来源: https://tidb.net/blog/9dc6c38e 背景 随着业务的变更,可能经常会遇到TiDB数据库的TiKV或TIDB Server节点扩缩容的需 ...

  7. 实践练习六(必选):OceanBase TPC-C 测试和查看 执行计划

    实践练习六(必选):OceanBase TPC-C 测试和查看 执行计划 练习目的 本次练习目的掌握 OceanBase 的执行计划查看方法,包括 explain 命令和查看实际执行计划. 练习条件 ...

  8. TiDB学习笔记【初阶】

    文章目录 一.TiDB简介 五大核心特性 四大核心应用场景 二.快速上手 三.TiDB架构原理 1.TiDB数据库的存储--TiKV Server TiKV Raft和RocksDB Region概念 ...

  9. 2021 年国产数据库名录和产品信息一览

    国产数据库列表,此表不断更新,以期反映国产数据库的发展动态,如有反馈提醒,请联系墨天轮社区. 目录 国产数据库列表 国产数据库大事记 国产数据库列表 序号 产品名称 产品类别 厂商 相关资讯 1 Ab ...

最新文章

  1. percona xtrabackupd定期做全备,增量备份shell脚本
  2. u盘排序软件_总有一款U盘适合你
  3. Lighttpd源码分析之状态机与插件
  4. QLineEdit学习
  5. 深度学习网络模型AlexNet
  6. linux ps 代码,Linux ps命令详解(示例代码)
  7. mysql提取各种数据时间的各种方法
  8. 数据库设计的 10 个最佳实践
  9. Docker Win 10 安装
  10. 使用bcryptjs对密码加密时,其校验原理是怎样的?
  11. 数学女孩-伽罗瓦理论读书笔记尺规作图
  12. 更改计算机名后金蝶无法登录,《金蝶KIS专业版登录时出现问题,请重新输入终极解决全过程》.doc...
  13. Unity利用正态分布绘制噪点图
  14. 禁止win10自动更新_一键禁止WIN10自动更新!
  15. Learning to Rank 简介(转载)
  16. 什么是POSIX标准
  17. 一个管理系统的成长历程
  18. BIGEMAP APP行车(走路)轨迹记录
  19. POJ2027No Brainer
  20. 普通人怎么建立自己的被动收入?我有几点建议

热门文章

  1. 高级计算机培训 英语教案设计,第四课时英语教案设计
  2. 基于JAVA社区疫情防控系统设计与实现 毕业设计开题报告
  3. android中使用dimen定义尺寸 .
  4. Spark中组件Mllib的学习16之分布式行矩阵的四种形式
  5. house of cat
  6. E. By Elevator or Stairs?
  7. python入门的详细答案_第11篇参考答案:Python入门经典习题题解
  8. Gym环境分析及构建
  9. 电脑虚拟摄像头 -obs及obs虚拟摄像头插件(免费)
  10. adobe cs5全线作品