首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用SysBench对Mysql做性能测试

使用SysBench对Mysql做性能测试

作者头像
小诸葛
发布2023-03-08 20:29:21
发布2023-03-08 20:29:21
2.3K00
代码可运行
举报
文章被收录于专栏:方法论方法论
运行总次数:0
代码可运行

SysBench工具介绍

SysBench是一个跨平台且支持多线程的模块化基准测试工具,用于评估系统在运行高负载的数据库时相关核心参数的性能表现。可绕过复杂的数据库基准设置,甚至在没有安装数据库的前提下,快速了解数据库系统的性能。

安装方法

代码语言:javascript
代码运行次数:0
运行
复制
yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql
git clone https://github.com/akopytov/sysbench.git
##从Git中下载Sysbench
cd sysbench
##打开sysbench目录
git checkout 1.0.18
##切换到sysbench 1.0.18版本
./autogen.sh
##运行autogen.sh
./configure --prefix=/usr --mandir=/usr/share/man
make
##编译
make install

测试用例

注意!!!如果在执行准备数据时,程序没有执行完就异常退出了,说明mysql性能较弱,此时可以将table_size和tables的值调小一些。

OLTP读写混合场景压测

1. 准备数据

代码语言:javascript
代码运行次数:0
运行
复制
#  # --mysql-host 填入mysql映射的ip,--mysql-port 填入映射的端口,用户填入测试的用户 --mysql-password 填入密码  --mysql-db 填入测试数据库,没有的话需要事先创建  --table_size表空间单位mb threads= 填入线程数
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port 填入映射的端口=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=2500 --tables=100 --events=0 --time=300  --threads=XXX oltp_read_write prepare

2. 运行压测

代码语言:javascript
代码运行次数:0
运行
复制
#  --mysql-host 填入mysql映射的ip,--mysql-port 填入映射的端口,用户填入测试的用户 --mysql-password 填入密码  --mysql-db 填入测试数据库,没有的话需要事先创建  --table_size表空间单位mb threads= 填入线程数
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300   --threads=XXX --percentile=95 --report-interval=1 oltp_read_write run

3. 清理数据

代码语言:javascript
代码运行次数:0
运行
复制
#  --mysql-host 填入mysql映射的ip,--mysql-port 填入映射的端口,用户填入测试的用户 --mysql-password 填入密码  --mysql-db 填入测试数据库,没有的话需要事先创建  --table_size表空间单位mb threads= 填入线程数
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300   --threads=XXX --percentile=95  oltp_read_write cleanup

4. 测试结果

OLTP只写场景压测

1. 准备数据

代码语言:javascript
代码运行次数:0
运行
复制
#  # --mysql-host 填入mysql映射的ip,--mysql-port 填入映射的端口,用户填入测试的用户 --mysql-password 填入密码  --mysql-db 填入测试数据库,没有的话需要事先创建  --table_size表空间单位mb threads= 填入线程数
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port 填入映射的端口=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=4500 --tables=100 --events=0 --time=300  --threads=XXX  oltp_write_only prepare

2. 运行压测

代码语言:javascript
代码运行次数:0
运行
复制
#  --mysql-host 填入mysql映射的ip,--mysql-port 填入映射的端口,用户填入测试的用户 --mysql-password 填入密码  --mysql-db 填入测试数据库,没有的话需要事先创建  --table_size表空间单位mb threads= 填入线程数
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300   --threads=XXX --percentile=95 --report-interval=1 oltp_write_only run

3. 清理数据

代码语言:javascript
代码运行次数:0
运行
复制
#  --mysql-host 填入mysql映射的ip,--mysql-port 填入映射的端口,用户填入测试的用户 --mysql-password 填入密码  --mysql-db 填入测试数据库,没有的话需要事先创建  --table_size表空间单位mb threads= 填入线程数
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300   --threads=XXX --percentile=95 --report-interval=1 oltp_write_only run

4. 测试结果

OLTP只读场景压测

1. 准备数据

代码语言:javascript
代码运行次数:0
运行
复制
#  # --mysql-host 填入mysql映射的ip,--mysql-port 填入映射的端口,用户填入测试的用户 --mysql-password 填入密码  --mysql-db 填入测试数据库,没有的话需要事先创建  --table_size表空间单位mb threads= 填入线程数
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port 填入映射的端口=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=2500 --tables=100 --events=0 --time=300  --threads=XXX oltp_read_only prepare

2. 运行压测

代码语言:javascript
代码运行次数:0
运行
复制
#  --mysql-host 填入mysql映射的ip,--mysql-port 填入映射的端口,用户填入测试的用户 --mysql-password 填入密码  --mysql-db 填入测试数据库,没有的话需要事先创建  --table_size表空间单位mb threads= 填入线程数
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300   --threads=XXX --percentile=95 --report-interval=1 oltp_read_only run

3. 清理数据

代码语言:javascript
代码运行次数:0
运行
复制
#  --mysql-host 填入mysql映射的ip,--mysql-port 填入映射的端口,用户填入测试的用户 --mysql-password 填入密码  --mysql-db 填入测试数据库,没有的话需要事先创建  --table_size表空间单位mb threads= 填入线程数
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300   --threads=XXX --percentile=95  oltp_read_only  cleanup

4. 测试结果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小诸葛的博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SysBench工具介绍
  • 安装方法
  • 测试用例
    • OLTP读写混合场景压测
    • 4. 测试结果
    • 4. 测试结果
    • OLTP只读场景压测
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档