Sysbench的测试主要包括以下几个方面:
1、磁盘io性能
2、cpu性能
3、内存分配及传输速度
4、POSIX线程性能
5、调度程序性能
6、数据库性能(OLTP基准测试).
sysbench 安装
注:我这里选择源码包安装sysbench0.5版本
下载软件
http://repo.percona.com/apt/pool/main/s/sysbench/
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)
cd /usr/local/src/
tar xf sysbench_0.5.orig.tar.gz
mv sysbench-0.5 /usr/local/
cd /usr/local/sysbench-0.5/
./autogen.sh
./configure --prefix=/usr/local/sysbench-0.5 --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib
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=18.50.129.66 \
--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://blog.51cto.com/13200489/2104420