Sysbench 的测试主要包括以下几个方面:
1, 磁盘 io 性能
2,cpu 性能
3, 内存分配及传输速度
4,POSIX 线程性能
5, 调度程序性能
6, 数据库性能 (OLTP 基准测试).
sysbench 安装
注: 我这里选择源码包安装 sysbench0.5 版本
下载软件
wget http://repo.percona.com/apt/pool/main/s/sysbench/sysbench_0.5.orig.tar.gz
依赖包安装
- yum install m4 autoconf automake libtool mariadb-devel(centos7)
- tar xf sysbench_0.5.orig.tar.gz -C /usr/local
- cd /usr/local/sysbench-0.5/
- ./autogen.sh
- ./configure --prefix=/usr/local/sysbench-0.5
- make && make install
- cp /usr/local/sysbench-0.5/bin/sysbench /usr/local/bin/
测试是否安装成功
- sysbench --version
- sysbench 0.5
sysbench 对数据库进行压力测试的过程:
prepare 阶段 这个阶段是用来做准备的, 比较说建立好测试用的表, 并向表中填充数据.
run 阶段 这个阶段是才是去跑压力测试的 SQL
cleanup 阶段 这个阶段是去清除数据的, 也就是 prepare 阶段初始化好的表要都 drop 掉
对 mysql 事务型 OLTP 的测试 (测试读写)
- sysbench --test=/usr/local/sysbench-0.5/sysbench/tests/db/oltp.lua \
- --mysql-host=127.0.0.1 \
- --mysql-port=3306 \
- --mysql-user=root \
- --mysql-password=123456 \
--mysql-db=test \ 测试使用的目标数据库, 这个库名要事先创建
--oltp-tables-count=10 \ 产生
--oltp-table-size=500000 \ 每个表产生的记录行数
--report-interval=10 \ 表示每 10s 输出一次测试进度报告
--rand-init=on \ 是否随机初始化数据
--max-requests=0 \ 压力测试产生请求的总数
--oltp-test-mode=nontrx \ 选择执行模式
--oltp-nontrx-mode=select \ 查询类型对于非事务执行模式
--oltp-read-only=off \ 只读 关闭
--max-time=120 \ 压力测试的持续时间
--num-threads=128 \ 使用线程数 (以下三个挨个做)
[prepare|run|cleanup]
准备 运行 清除
来源: http://www.bubuko.com/infodetail-2693214.html