前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用SysBench对Mysql做性能测试

使用SysBench对Mysql做性能测试

作者头像
小诸葛
发布2023-03-08 20:29:21
1.6K0
发布2023-03-08 20:29:21
举报
文章被收录于专栏:方法论方法论

SysBench工具介绍

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

安装方法

代码语言:javascript
复制
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
复制
#  # --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
复制
#  --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
复制
#  --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
复制
#  # --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
复制
#  --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
复制
#  --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
复制
#  # --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
复制
#  --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
复制
#  --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 归档