TIDB 性能测试(TIUP-TPCC)
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测试客户端 |
二、测试方案
- 通过单独的测试机器进行性能测试。
- 使用tiup工具对TIDB集群进行TPC-C测试。
- 通过 tiup工具导入 9 张表,以10 WAREHOUSE为例进行测试,其中:
- stock 表中有1,059,392条记录(每个仓库对应 10 万种商品的库存数据)。
- district 表中有100条记录(每个仓库为 10 个地区提供服务)。
- customer 表中有303,000条记录(每个地区有 3000 个客户)。
- item表中有100,000条数据。
- order_line表中有3,058,959条数据。
- new_order表中有90,140条数据。
- history 表中有312,447条记录(每个客户一条交易历史)。
- orders 表中有 312,440条记录(每个地区 3000 个订单),并且最后生成的 900 个订单被添加到 new-order 表中,每个订单随机生成 5 ~ 15 条 order-line 记录。
- TPC-C使用 tpmC 值 (Transactions per Minute) 来衡量系统最大有效吞吐量 (MQTh, Max Qualified Throughput),其中 Transactions 以 NewOrder Transaction 为准,即最终衡量单位为每分钟处理的新订单数。
- 测试完成之后,销毁测试数据。
三、测试步骤
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. 测试参数说明
- TAKES(S): 事务的运行时间范围,输出数据的时间减去开始测试时间。
- COUNT: 该段时间内完成的事务数。
- TPM: 流量指标(tpmC, transactions per minute), 每分钟处理的交易量。
- SUM(MS): 事务的请求总用时(ms)。
- AVG(MS): 事务的请求平均用时(ms)。
- 50TH(MS): 50%事务的请求用时(ms)范围。
- 90TH (MS): 90%事务的请求用时(ms)范围。
- 95TH (MS): 95%事务的请求用时(ms)范围。
- 99TH (MS): 99%事务的请求用时(ms)范围。
- 99.9TH (MS): 99.9%事务的请求用时(ms)范围。
- MAX(MS): 事务的请求最大用时(ms)。
- TPMC: 流量指标(tpmC, transactions per minute, C 指 TPC 中的 C 基准程序):每分钟可以处理的 New-Order 交易的数量。
- TPMTOTAL: 每分钟可以处理的全部交易的数量。
- EFFICIENCY: efficiency = 100 * tpmC / (specWarehouseFactor * Warehouses数量) , specWarehouseFactor 为每个 warehouse 提供的理论最大事务数, 等于12.86
3. TIDB集群监控指标
3.1 CPU,内存,磁盘等负载
3.2 SQL数量
3.3 数据库时间
TIDB 性能测试(TIUP-TPCC)相关推荐
- Mysql性能测试工具tpcc使用
1.下载tpcc-mysql-src.tgz源码包到/opt下 先执行 gunzip 解压缩文件比如gunzip 然后解包 进入/opt/tpcc-mysql/src 执行 make 进行 ...
- centos7开放端口访问不了_基于TiUP cluster 在centos7系统上模拟生产环境部署TiDB数据库...
概述 今天主要来体验下TiDB 最小的完整拓扑的集群,参照 TiUP 最小拓扑的一个 YAML 文件来部署 TiDB 集群,下面一起来看看吧~ 一.环境要求 最小规模的 TiDB 集群拓扑: 部署主机 ...
- 分布式关系型数据库TiDB
企业级分布式关系型数据库TiDB 一.TiDB简介 TiDB 是 PingCAP 公司受 Google Spanner / F1 论文启发而设计的开源分布式关系型数据库,结合了传统的 RDBMS 和N ...
- Tidb集群加mysql_TiDB - 快速入门,集群搭建
TiDB 是开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式 ...
- TiDB监控pd面板显示:Region Health: empty-regin-count很多,怎么回收empty-regin?
TiDB集群中有大量的 drop/truncate table, create table, drop database 的时候,empty-regin-count会增加. 回收empty-regin ...
- TiDB+TiSpark部署--安装,扩缩容及升级操作
作者: tracy0984 原文来源: https://tidb.net/blog/9dc6c38e 背景 随着业务的变更,可能经常会遇到TiDB数据库的TiKV或TIDB Server节点扩缩容的需 ...
- 实践练习六(必选):OceanBase TPC-C 测试和查看 执行计划
实践练习六(必选):OceanBase TPC-C 测试和查看 执行计划 练习目的 本次练习目的掌握 OceanBase 的执行计划查看方法,包括 explain 命令和查看实际执行计划. 练习条件 ...
- TiDB学习笔记【初阶】
文章目录 一.TiDB简介 五大核心特性 四大核心应用场景 二.快速上手 三.TiDB架构原理 1.TiDB数据库的存储--TiKV Server TiKV Raft和RocksDB Region概念 ...
- 2021 年国产数据库名录和产品信息一览
国产数据库列表,此表不断更新,以期反映国产数据库的发展动态,如有反馈提醒,请联系墨天轮社区. 目录 国产数据库列表 国产数据库大事记 国产数据库列表 序号 产品名称 产品类别 厂商 相关资讯 1 Ab ...
最新文章
- percona xtrabackupd定期做全备,增量备份shell脚本
- u盘排序软件_总有一款U盘适合你
- Lighttpd源码分析之状态机与插件
- QLineEdit学习
- 深度学习网络模型AlexNet
- linux ps 代码,Linux ps命令详解(示例代码)
- mysql提取各种数据时间的各种方法
- 数据库设计的 10 个最佳实践
- Docker Win 10 安装
- 使用bcryptjs对密码加密时,其校验原理是怎样的?
- 数学女孩-伽罗瓦理论读书笔记尺规作图
- 更改计算机名后金蝶无法登录,《金蝶KIS专业版登录时出现问题,请重新输入终极解决全过程》.doc...
- Unity利用正态分布绘制噪点图
- 禁止win10自动更新_一键禁止WIN10自动更新!
- Learning to Rank 简介(转载)
- 什么是POSIX标准
- 一个管理系统的成长历程
- BIGEMAP APP行车(走路)轨迹记录
- POJ2027No Brainer
- 普通人怎么建立自己的被动收入?我有几点建议