利用Sysbench0.5对MySQL进行压测_MySQL
程序员文章站
2022-05-24 10:34:24
...
1 下载sysbench-0.5.tar.gz
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
分析压测结果 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
内存测试 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
磁盘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
PS 硬件条件 阿里云RDS 内存大小: 24000M 最大IOPS: 12000
数据库类型:MySQL5.6 最大连接数:2000
下载地址 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 install3 查询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
分析压测结果 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
结果分析:每秒写入大概是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
传输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
PS 硬件条件 阿里云RDS 内存大小: 24000M 最大IOPS: 12000
数据库类型:MySQL5.6 最大连接数:2000
上一篇: 好好写,好好干-PHP基础(二)
下一篇: 为何控制器这么听话
推荐阅读
-
利用tcpdump对mysql进行抓包操作技巧
-
利用tcpdump对mysql进行抓包操作技巧
-
利用PowerDesigner15在win7系统下对MySQL 进行反向工程(上) 安装驱动篇
-
利用PowerDesigner15在win7系统下对MySQL 进行反向工程(下)完成
-
C++如何利用API对Mysql数据库进行增删改操作?
-
利用PowerDesigner15在win7系统下对MySQL 进行反向工程(下)完成
-
利用PowerDesigner15在win7系统下对MySQL 进行反向工程(上) 安装驱动篇
-
MYSQL利用Navicat对含有Bold字段表进行导入导出_MySQL
-
C++如何利用API对Mysql数据库进行增删改操作?
-
利用Myisamchk对MySQL数据表进行体检