MySQL性能测试(完整版)

MySQL性能测试之SysBench

一、SysBench安装

1、mac安装命令:(其他系统安装对应的命令即可,不影响后面的使用)

brew install sysbench

2、查看是否安装成功;

sysbench --version

附:
(1)执行一些简单的 SysBench 命令,以确保它能够正常运行。例如,你可以运行一个 CPU 测试:

bashCopy codesysbench cpu --cpu-max-prime=20000 run

或者运行一个内存测试:

bashCopy codesysbench memory --memory-block-size=1M --memory-total-size=10G run

3、查看命令使用

sysbench --help

二、MySQL吞吐量测试

PS:对应参数填入正确的值(使用时可以先粘贴到文本中修改参数),具体的参数名成可能会因为版本问题稍有变化,对应修改即可。更多参数可查看详细文档。

1、准备测试数据:

注:需要先准备测试数据

sysbench /usr/local/share/sysbench/oltp_read_write.lua --db-driver=mysql --mysql-host=10.0.1.11 --mysql-port=30086 --mysql-user=root --mysql-password=123 --mysql-db=room --tables=10 --table-size=50000 --threads=1 prepare

参数解释:
命令使用了 sysbench,一个用于数据库基准测试的工具,特别是针对 MySQL。

  1. sysbench:命令本身。

  2. /usr/local/share/sysbench/oltp_read_write.lua:指定 sysbench 将用于基准测试的 Lua 脚本。在这种情况下,它是 oltp_read_write.lua 脚本,专为包含读写操作混合的 OLTP(在线事务处理)工作负载而设计。

  3. --db-driver=mysql:指定数据库驱动程序,这里是 MySQL。

  4. --mysql-host=10.0.11:指定 MySQL 服务器的主机地址为 10.0.1.11

  5. --mysql-port=30086:指定 MySQL 服务器的端口号为 30086

  6. --mysql-user=root:指定连接到 MySQL 的用户名为 root

  7. --mysql-password=123:指定连接到 MySQL 的密码为 123

  8. --mysql-db=room:指定要执行基准测试的 MySQL 数据库名称为 room

  9. --tables=10:指定要创建的表的数量为 10

  10. --table-size=50000:指定每个表的大小为 50000

  11. --threads=1:指定用于执行基准测试的线程数为 1

  12. prepare:指定运行的操作是准备阶段,用于初始化数据库和表格以进行后续的基准测试。

2、开始测试

注:开始测试,运行结束会有结果生成。(线程数一般设置高点,可以100以上)

sysbench /usr/local/share/sysbench/oltp_read_write.lua --db-driver=mysql --mysql-host=10.0.1.11 --mysql-port=30086 --mysql-user=root --mysql-password=123 --mysql-db=room --percentile=80 --max-requests=0 --threads=101 --time=60 run

参数说明:
使用 sysbench 工具进行数据库基准测试:

  1. sysbench:命令本身。

  2. /usr/local/share/sysbench/oltp_read_write.lua:指定 sysbench 将用于基准测试的 Lua 脚本。在这种情况下,它是 oltp_read_write.lua 脚本,专为包含读写操作混合的 OLTP(在线事务处理)工作负载而设计。

  3. --db-driver=mysql:指定数据库驱动程序,这里是 MySQL。

  4. --mysql-host=10.0.1.11:指定 MySQL 服务器的主机地址为 10.0.1.11

  5. --mysql-port=30086:指定 MySQL 服务器的端口号为 30086

  6. --mysql-user=root:指定连接到 MySQL 的用户名为 root

  7. --mysql-password=123:指定连接到 MySQL 的密码为 123

  8. --mysql-db=room:指定要执行基准测试的 MySQL 数据库名称为 room

  9. --percentile=80:读写比例为8:2。

  10. --max-requests=0:指定在测试运行期间的最大请求数。在这里,设置为 0 表示不限制最大请求数。

  11. --threads=101:指定用于执行基准测试的线程数为 101

  12. --time=60:指定测试运行的时间,这里设置为 60 秒。

  13. run:指定运行的操作是执行基准测试。

3、结果分析

在这里插入图片描述

QPS计算:

在 SQL 统计中,查询总数为 49820,测试总时间为 60.0476 秒。使用以下公式计算 QPS:
QPS = 总查询数 / 测试总时间
= 277425 / 60.2574
≈ 4585
SysBench 测试的 QPS 大约是 829.58。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/283104.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙4.0核心技术-WebGL开发

场景介绍 WebGL主要帮助开发者在前端开发中完成图形图像的相关处理,比如绘制彩色图形等。 接口说明 表1 WebGL主要接口列表 接口名描述canvas.getContext获取canvas对象上下文。webgl.createBuffer(): WebGLBuffernullwebgl.bindBuffer(target: GLenum, buffer: …

Apache Flume(5):多个agent模型

可以将多个Flume agent 程序连接在一起,其中一个agent的sink将数据发送到另一个agent的source。Avro文件格式是使用Flume通过网络发送数据的标准方法。 从多个Web服务器收集日志,发送到一个或多个集中处理的agent,之后再发往日志存储中心&…

Android 架构 - MVVM

一、概念 概念基于观察者模式,数据的变化会自动更新到UI。通信 View→ViewModel:View作为观察者,监听ViewModel中数据(LiveData、Flow)的变化从而自动更新UI。 ViewModel→Model:ViewModel调用Model获取数据…

【Windows】windows11右键默认显示更多选项的办法

Windows11系统的右键菜单显示,需要多点一次“显示更多选项”才能看到所有菜单内容,按下面步骤简单设置一下就能恢复成Windows经典的右键菜单显示。 1. 2.输入命令【reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a…

04_Web框架之Django一

Web框架之Django一 学习目标和内容 1、能够描述Django的作用 2、能够使用Django创建应用 3、能够使用GET和POST请求方式进行传参 4、能够使用Django的函数式方法定义视图 5、能够进行Django的配置文件修改 6、能够基本使用Django的路由定义 一、Django相关介绍 1、什么是Djan…

SpringBoot+FastJson 优雅的过滤 Response Body

Spring 源码系列 1、Spring 学习之扩展点总结之后置处理器(一) 2、Spring 学习之扩展点总结之后置处理器(二) 3、Spring 学习之扩展点总结之自定义事件(三) 4、Spring 学习之扩展点总结之内置事件&#xf…

【Stm32-F407】Keil uVision5 下新建工程

①双击鼠标左键打开Keil uVision5,选择 Project 下的 New uVision Project ; ②在期望的文件夹下创建一个工程,并按如下要求操作; ③添加文件类型,按如下要求操作 ④如有需要可添加相关启动文件在工程文件夹下并添加到…

数据结构 AVL树概念以及实现插入的功能(含Java代码实现)

为啥要有avl树 avl树是在二叉搜索树下的一种进阶形式,是为了防止二叉搜索树在极端情况下产生的链表化的场景,从而在二叉搜索树的基础上,加上了某些条件来阻止这种极端情况的产生,但不是保证完全平衡,而是放开了一定的条件,使得这种情况不那么难以满足.(条件:左右子树的高度差的…

华为组播配置案例

igmp-snooping主要用于生成二层组播表项,防止交换机全部接口都发组播报文 PC端配置: 组播源配置: R1 interface GigabitEthernet0/0/0 ip address 10.0.0.1 255.255.255.0 pim dm interface GigabitEthernet0/0/1 ip address 192.168.0…

【深度学习目标检测】八、基于yolov5的抽烟识别(python,深度学习)

YOLOv5是目标检测领域一种非常优秀的模型,其具有以下几个优势: 1. 高精度:YOLOv5相比于其前身YOLOv4,在目标检测精度上有了显著的提升。YOLOv5使用了一系列的改进,如更深的网络结构、更多的特征层和更高分辨率的输入图…

GD32烧录第一盏灯

学习目标 掌握基本开发流程掌握程序编译掌握程序烧录掌握GPIO初始化流程学习内容 开发流程 项目新建代码编写程序烧录验证结果需求分析 点亮LED1灯,并且闪烁。 项目新建 📎GD32Template.zip 附件为模板代码,解压后修改项目名称。 进入Project

【从零开始学习--设计模式--策略模式】

返回首页 前言 感谢各位同学的关注与支持,我会一直更新此专题,竭尽所能整理出更为详细的内容分享给大家,但碍于时间及精力有限,代码分享较少,后续会把所有代码示例整理到github,敬请期待。 此章节介绍策…