一、工具介绍
TiDB性能测试使用sysbench工具来进行压测,sysbench是数据库功能及性能测试工具,它的测试功能如下:
- CPU 运算性能测试
- 磁盘 IO 性能测试
- 调度程序性能测试
- 内存分配及传输速度测试
- POSIX 线程性能测试
- 数据库性能测试(OLTP 基准测试,需要通过 /usr/share/sysbench/ 目录中的 Lua 脚本执行,例如 oltp_read_only.lua 脚本执行只读测试)
二、sysbench工具安装及使用
1、 Centos的安装
sudo yum install -y sysbench
2、查看帮助信息
# 查看帮助信息
[tidb@cdh01 ~]$ sudo sysbench --help
# 查看测试帮助信息
sudo sysbench fileio help / sudo sysbench cpu help
#### 3、CPU测试信息
# 查看CPU帮助信息 sudo sysbench cpu help
[tidb@cdh01 ~]$ sudo sysbench cpu help
sysbench 1.0.17 (using system LuaJIT 2.0.4)
cpu options:
--cpu-max-prime=N upper limit for primes generator [10000]
4、CPU测试
sudo sysbench --cpu-max-prime=10000 --threads=2 cpu run
5、磁盘IO性能测试
# 磁盘准备阶段
sysbench --test=fileio --num-threads=16 --file-total-size=30G --file-test-mode=rndrw prepare
# 磁盘IO运行检测
sysbench --test=fileio --num-threads=16 --file-total-size=30G --file-test-mode=rndrw run
Extra file open flags: (none)
128 files, 240MiB each
30GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operati