Docker+sysbench进行数据库压力测试

本文介绍了如何利用Docker搭建MySQL环境,并通过sysbench工具进行数据库压力测试。首先,创建了数据库并拉取相关镜像。接着,执行lua脚本在单线程下创建24张包含10万条数据的表。然后,使用64线程对这些表进行压力测试,观察MySQL5.7的性能表现。最后,探讨了针对mysql5.7的配置优化策略。
摘要由CSDN通过智能技术生成

1、mysql新建数据库

sbtest

2、拉取镜像

docker pull severalnines/sysbench

3、运行创建数据库和插入数据的lua脚本

docker run --rm=true --name=sb-prepare severalnines/sysbench sysbench --db-driver=mysql --oltp-table-size=100000 --oltp-tables-count=24 --threads=1 --mysql-host=192.168.1.2 --mysql-port=3306 --mysql-user=root --mysql-password=123456 /usr/share/sysbench/tests/include/oltp_legacy/parallel_prepare.lua run

--oltp-table-size=100000 --oltp-tables-count=24 --threads=1

单线程创建24张表,每张表插入10w条数据

4、对mysql数据库进行压力测试

docker run --name=sb-run severalnines/sysbench sysbench --db-driver=mysql --report-interval=2 --mysql-table-engine=innodb --oltp-table-size=100000 --oltp-tables-count=24 --threads=64 --time=99999 --mysql-host=192.168.1.2 --mysql-port=3306 --mysql-user=root --mysql-password=123456 /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua run

--oltp-table-size=100000 --oltp-tables-count=24 --threads=64

24张表 每张表10w条记录  64线程 对mysql进行压力测试

5、mysql5.7配置优化

### AUTHOR: cenliang
### DATE: 2017/12/25
### REV: 2.0

[client]
#########################################################################
#                                                                       #
#                         MySQL客户端配置                               #
#                                                                       #
#########################################################################
port = 3306 
# MySQL客户端默认端口号

socket = /data/mysql/my3306/mysql.sock
# 用于本地连接的Unix套接字文件存放路径

default-character-set = utf8mb4
# MySQL客户端默认字符集

[mysql]
#########################################################################
#                                                                       #
#                         MySQL命令行配置                               #
#                                                                       #
#########################################################################
auto-rehash
# 开启tab补齐功能

socket = /data/mysql/my3306/mysql.sock
# 用于本地连接的Unix套接字文件存放路径

default-character-set = utf8mb4
# MySQL客户端默认字符集

max_allowed_packet = 256M
# 指定在网络传输中一次消息传输量的最大值。系统默认值 为1MB,最大值是1GB,必须设置1024的倍数。

[mysqld]
#########################################################################
#                                                                       #
#                         MySQL服务端配置                               #
#                                                                       #
#########################################################################

########################################
#                                      #
#               General                #
#                                      #
########################################
port = 3306
# MySQL服务端默认监听的TCP/IP端口

socket = /data/mysql/my3306/mysql.sock
# 用于本地连接的Unix套接字文件存放路径

pid_file = /data/mysql/my3306/mysql.pid
# 进程ID文件存放路径

basedir = /app/mysql
# MySQL软件安装路径

datadir = /data/mysql/my3306
# MySQL数据文件存放路径

tmpdir = /data/mysql/my3306
# MySQL临时文件存放路径

character_set_server = utf8mb4
# MySQL服
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非ban必选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值