000 - 🍳Sysbench 数据库压力测试工具
sysbench
是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O
、线程、数据库的性能测试。目前支持的数据库有MySQL
、Oracle
和PostgreSQL
。以下操作都将以支持MySQL
数据库为例进行。
1. Linux 上安装 sysbench 工具
- 安装方式有两种,一种是通过
yum
/apt
等来安装,另一种自己下载源码包来安装,笔者这里采用的是centos
,采用yum
安装 sysbench
的源码包下载地址: http://sourceforge.net/projects/sysbench ,采用源码安装的可转这里- 通过
yum
安装如下:- 设置
yum repo
仓库
- 设置
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
- 安装
sudo yum -y install sysbench
- 安装完检查是否成功
sysbench --version
2. 数据库测试用例准备
- 我们这里测试的是
MySQL
,首先我们在数据库创建一个专门用来测试的库test_db
- 通过
sysbench
创建20个测试表,每个表中创建100万数据,再通过10个线程对测试库发起访问,持续5分钟,对其进行压测
3. sysbench 构建表与数据
- 执行下面命令准备数据
sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.56.10 --mysql-port=3306 --mysql-user=root --mysql-password=root --mysql-db=test_db --tables=20 --table_size=1000000 oltp_read_write --db-ps-mode=disable prepare
- 上面命令的参数说明:
--db-driver=mysql
: 表示数据库的驱动类型,我们使用的是MySQL
所以填mysql
,如果使用Oracle
则填写相应的oracle
--time=300
: 这个参数表示持续访问的时间 300秒--threads=10
: 表示使用10个线程模拟