性能测试工具-sysbench
对象:mysql pgsql
下载:
wget https://github.com/akopytov/sysbench/archive/1.0.18.zip
yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql
安装:
解压sysbench
cd sysbench
./autogen.sh
./configure --prefix=/usr --mandir=/usr/share/man
make
make install
脚本下载的地址:
USER="root" ###根据实际修改
PASSWORD="Test@123" ###根据实际修改
HOST="192.168.0.126" ###根据实际修改
###########################
#以下根据实际修改*,涉及路径的 需要find后根据实际情况修改
LOG_PATH=/root/test_result_8u32g_c6_test #结果存放路径,每次跑新的改一下
MAX_REQUEST=0
LUA_PATH="/usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua"
WO_PATH="/root/sysbench-1.0.18/src/lua/oltp_write_only.lua"
SYSBENCHE_PATH="/root/sysbench-1.0.18"
TABLE_SIZE=100000000
TABLE_COUNT=150
PREPARE_THREAD=16 #16是预热数据的并发数,比如8cpu的机器就用8个并发
TABLE_SIZE=10000000 #测试数据量,多少张表格*每一张表格多少行
TABLE_COUNT=64 #测试数据量,多少张表格*每一张表格多少行
RECORD_TIME=1
THREADS="1 8 16 32 64 100 200 500 1000 2000"
#sysbench跑的并发数目,每一个并发跑的时间--RUNTIME
WARMUP_THREADS="400 400 400" ##预热的并发数,
RUNTIME=600
DBNAME='dbtest'
PORT=3306
执行的命令:
nohup bash -x test.sh run & #加载数据,预热,再run,一气呵成 (一般第一次用这个,因为还没数据)
nohup bash -x test.sh run rw & # 数据已经存在,不需要加载,不需要预热,只run 读写模式
nohup bash -x test.sh run ro & # 数据已经存在,不需要加载,不需要预热,只run 读写模式
nohup bash -x test.sh run wo & # 数据已经存在,不需要加载,不需要预热,只run 读写模式
nohup bash -x test.sh prewarm run rw & # 数据已经存在,不需要加载,但是需要预热(重启实例需要预热),再run 读写模式
执行完用getdata.sh获取结果,getdata.sh 会帮你整理好结果