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]