这期小编和大家分享使用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