这期小编和大家分享使用Sysbench,进行CentOS服务器及MySQL数据库的性能测试。

Sysbench是一个跨平台的基准测试工具。

基准测试是对数据库的性能指标进行定量的、可复现的、可对比的测试。

基准测试可以理解为针对系统的一种压力测试。

但基准测试不关心业务逻辑

更加简单、直接、易于测试,数据可以由工具生成,不要求真实;

而压力测试一般考虑业务逻辑(如订单业务)

要求真实的数据。

系统环境:CentOS 7.5

Q:所需软件环境?

A:MariaDB-devel、MariaDB-client、MariaDB-server。

Q:所需软件?

A:Sysbench。

初始化安装环境

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash

安装sysbench

yum install sysbench -y

测试处理器性能

sysbench cpu --cpu-max-prime=100000 --threads=4

测试硬盘IO性能

–file-num 生成测试文件的数量,默认是128

–file-block-size 测试期间文件块的大小

–file-total-size 每个文件的大小,默认是2GB

–file-test-mode 文件测试模式,

包含seqwr(顺序写)、seqrewr(顺序读写)、seqrd(顺序读)、rndr d(随即读)、rndwr(随机写)、rndrw(随机读写)

sysbench fileio --file-num=128 --file-block-size=16384 --file-total-size=2G --file-test-mode=seqwr --threads=4 run

测试内存

--memory-block-size块大小

--memory-total-size总大小

--memory-access-mode测试模式 seq顺序模式,rnd随机模式

sysbench memory --memory-block-size=1K --memory-total-size=4G --memory-access-mode=rnd --threads=4 run

测试数据库

--oltp-test-mode 测试模式

--oltp-tables-count 建立表数

--oltp-table-size 表数据量大小

--threads 线程

--time 时间

--report-interval 反馈间隔时间

01建立测试数据库

sysbench ./oltp.lua --mysql-user=root --mysql-password=ljzlxyfwm --mysql-db=test --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=150 --time=120 --report-interval=2 prepare

02测试数据库性能

sysbench ./oltp.lua --mysql-user=root --mysql-password=ljzlxyfwm --mysql-db=test --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --thread=4 run

03清空测试数据库

sysbench ./oltp.lua --mysql-user=root --mysql-password=ljzlxyfwm --mysql-db=test --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --thread=4 cleanup