利用Sysbench0.5对MySQL进行压测

1 下载sysbench-0.5.tar.gz


下载地址   http://download.csdn.net/download/rcbblgy/7578433


2 执行如下命令

tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib
make
make install
3 查询sysbench是否正确安装  sysbench -v

4 常用的参数列表

     --mysql-host=test.mysql.rds.aliyuncs.com           #数据库host

     --mysql-port=3306                                              #数据库端口
     --mysql-user=your_username                             #数据库用户名
     --mysql-password=your_password                      #数据库密码
     --mysql-db=your_db_for_test                              #数据库名
     --oltp-tables-count=10                        #模拟的表的个数,规格越高该值越大
     --oltp-table-size=6000000                  #模拟的每张表的行数,规格越高该值越大
     --num-threads=50                              #模拟的并发数量,规格越高该值越大
     --max-requests=100000000               #最大请求次数
     --max-time=20                           #最大测试时间(与--max-requests只要有一个超过,则退出)
     --report-interval=1                     #每1秒打印一次当前的QPS等值
     --test=/tmp/sysbench-0.5/sysbench/tests/db/oltp.lua    #选用的测试脚本(lua),此脚本可以从sysbench-0.5源代码文件目录下找
     [prepare | run | cleanup]           #prepare准备数据,run执行测试,cleanup清理数据

5 准备数据

[root@iZ254t8pd33Z ~]# sysbench --mysql-host=yongche1.mysql.rds.aliyuncs.com --mysql-port=3306 --mysql-user=jiangjianjian  --mysql-password=pansino --mysql-db=yongche1 --oltp-tables-count=10 --oltp-table-size=6000000 --num-threads=50 --max-requests=100000000 --report-interval=1 --test=/root/sysbench-0.5/sysbench/tests/db/oltp.lua prepare

6  进行测试及结果分析

oltp进行压测

[root@iZ254t8pd33Z ~]# sysbench --mysql-host=yongche1.mysql.rds.aliyuncs.com --mysql-port=3306 --mysql-user=jiangjianjian  --mysql-password=pansino --mysql-db=yongche1 --oltp-tables-count=10 --oltp-table-size=6000000 --num-threads=50 --max-requests=100000000 --report-interval=1  --max-time=20  --test=/root/sysbench-0.5/sysbench/tests/db/oltp.lua run
利用Sysbench0.5对MySQL进行压测_第1张图片
利用Sysbench0.5对MySQL进行压测_第2张图片
分析压测结果   TPS是平均每秒钟事务提交次数,QPS表示每秒查询次数(包括read和write)
oltp 读写比大概5300:1500


纯insert情况  
[root@iZ254t8pd33Z ~]# sysbench --mysql-host=yongche1.mysql.rds.aliyuncs.com --mysql-port=3306 --mysql-user=jiangjianjian  --mysql-password=pansino --mysql-db=yongche1 --oltp-tables-count=10 --oltp-table-size=6000000 --num-threads=50 --max-requests=100000000 --report-interval=1  --max-time=20   --test=/root/sysbench-0.5/sysbench/tests/db/insert.lua run
利用Sysbench0.5对MySQL进行压测_第3张图片


利用Sysbench0.5对MySQL进行压测_第4张图片

结果分析:每秒写入大概是4000条


内存测试 
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=memory --memory-block-size=8192 --memory-total-size=4G run
利用Sysbench0.5对MySQL进行压测_第5张图片

传输4G内容,每个block 8k,速度大概每秒6093M


磁盘IO测试
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run

指定了最大创建 16 个线程,创建的文档总大小为 3G ,文档读写模式为随机读,磁盘随机读写速度大概为 38M/s

CPU测试
sysbench --test=cpu --num-threads=32 --cpu-max-prime=90000 run

32个线程,寻找90000以内的最大素数花了80s



             




你可能感兴趣的:(mysql,sysbench,0.5,L)