- 关于 TiDB
- 快速上手
- 部署集群
- 数据迁移
- 运维操作
- 监控与告警
- 故障诊断
- 性能调优
- 系统调优
- 软件调优
- SQL 性能调优
- SQL 性能调优概览
- 理解 TiDB 执行计划
- SQL 优化流程
- 控制执行计划
- 教程
- TiDB 工具
- 功能概览
- 适用场景
- 工具下载
- TiUP
- TiDB Operator
- Backup & Restore (BR)
- TiDB Binlog
- TiDB Lightning
- TiDB Data Migration
- TiCDC
- Dumpling
- sync-diff-inspector
- Loader
- Mydumper
- Syncer
- TiSpark
- 参考指南
- 架构
- 监控指标
- 安全加固
- 权限
- SQL
- SQL 语言结构和语法
- SQL 语句
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ALTER DATABASE
ALTER INSTANCE
ALTER TABLE
ALTER USER
ANALYZE TABLE
BACKUP
BEGIN
CHANGE COLUMN
CHANGE DRAINER
CHANGE PUMP
COMMIT
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW [BACKUPS|RESTORES]
SHOW ANALYZE STATUS
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TRACE
TRUNCATE
UPDATE
USE
- 数据类型
- 函数与操作符
- 约束
- 生成列
- SQL 模式
- 事务
- 垃圾回收 (GC)
- 视图
- 分区表
- 字符集和排序规则
- 系统表
mysql
- INFORMATION_SCHEMA
- Overview
ANALYZE_STATUS
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DDL_JOBS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PROCESSLIST
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_INDEXES
TIDB_SERVERS_INFO
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- CLI
- 命令行参数
- 配置文件参数
- 系统变量
- 存储引擎
- 遥测
- 错误码
- 通过拓扑 label 进行副本调度
- 常见问题解答 (FAQ)
- 版本发布历史
- 发布版本汇总
- v4.0
- v3.1
- v3.0
- v2.1
- v2.0
- v1.0
- 术语表
使用 TiUP bench 组件压测 TiDB
在测试数据库性能时,经常需要对数据库进行压测,为了满足这一需求,TiUP 集成了 bench 组件。目前,TiUP bench 组件提供 TPC-C 和 TPC-H 两种压测的 workload,其命令参数如下:
tiup bench
Starting component `bench`: /home/tidb/.tiup/components/bench/v1.3.0/bench
Benchmark database with different workloads
Usage:
tiup bench [command]
Available Commands:
help 帮助信息
tpcc 以 TPC-C 作为 workload 压测
tpch 以 TPC-H 作为 workload 压测
Flags:
--count int 总执行次数, 0 表示无限次
-D, --db string 被压测数据库名称 (默认为 "test")
-d, --driver string 数据库驱动: mysql
--dropdata 在 prepare 之前清除历史数据
-h, --help bench 命令自身的帮助信息
-H, --host string 数据库的主机地址 (默认 "127.0.0.1")
--ignore-error 忽略压测时数据库报出的错误
--interval duration 两次报告输出时间的间隔 (默认 10s)
--isolation int 隔离级别 0: Default, 1: ReadUncommitted,
2: ReadCommitted, 3: WriteCommitted, 4: RepeatableRead,
5: Snapshot, 6: Serializable, 7: Linerizable
--max-procs int runtime.GOMAXPROCS
-p, --password string 数据库密码
-P, --port int 数据库端口 (默认 4000)
--pprof string pprof 地址
--silence 压测过程中不打印错误信息
--summary 只打印 Summary
-T, --threads int 压测并发线程数 (默认 16)
--time duration 总执行时长 (默认 2562047h47m16.854775807s)
-U, --user string 压测时使用的数据库用户 (默认 "root")
下文分别介绍如何使用 TiUP 运行 TPC-C 测试和 TPC-H 测试。
使用 TiUP 运行 TPC-C 测试
TiUP bench 组件支持如下运行 TPC-C 测试的命令和参数:
Available Commands:
check 检查数据一致性
cleanup 清除数据
prepare 准备数据
run 开始压测
Flags:
--check-all 运行所有的一致性检测
-h, --help tpcc 的帮助信息
--output string 准备数据时生成 csv 文件的目录
--parts int 分区仓库 的数量(默认 1)
--tables string 指定用于生成文件的表,多个表用逗号分割,只有设置了 output 时才有效。默认生成所有的表
--warehouses int 仓库的数量 (默认 10)
TPC-C 测试步骤
通过 HASH 使用 4 个分区创建 4 个仓库:
tiup bench tpcc --warehouses 4 --parts 4 prepare
运行 TPC-C 测试:
tiup bench tpcc --warehouses 4 run
清理数据:
tiup bench tpcc --warehouses 4 cleanup
检查一致性:
tiup bench tpcc --warehouses 4 check
生成 CSV 文件:
tiup bench tpcc --warehouses 4 prepare --output data
为指定的表生成 CSV 文件:
tiup bench tpcc --warehouses 4 prepare --output data --tables history,orders
开启 pprof:
tiup bench tpcc --warehouses 4 prepare --output data --pprof :10111
使用 TiUP 运行 TPC-H 测试
TiUP bench 组件支持如下运行 TPC-H 测试的命令和参数:
Available Commands:
cleanup 清除数据
prepare 准备数据
run 开始压测
Flags:
--check 检查输出数据,只有 scale 因子为 1 时有效
-h, --help tpch 的帮助信息
--queries string 所有的查询语句 (默认 "q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22")
--sf int scale 因子
TPC-H 测试步骤
准备数据:
tiup bench tpch --sf=1 prepare
运行 TPC-H 测试,根据是否检查结果执行相应命令:
检查结果:
tiup bench tpch --sf=1 --check=true run
不检查结果:
tiup bench tpch --sf=1 run
清理数据:
tiup bench tpch cleanup
文档内容是否有帮助?