MySQL性能测试(完整版)

news2024/11/28 20:34:10

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.coloradmin.cn/o/1318478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

The Grid – Responsive WordPress Grid响应式网格插件

点击阅读The Grid – Responsive WordPress Grid响应式网格插件原文 The Grid – Responsive WordPress Grid响应式网格插件是一个高级 wordpress 网格插件,它允许您在完全可定制且响应迅速的网格系统中展示任何自定义帖子类型。 Grid WordPress 非常适合展示您的博…

runCatching异常捕获onSuccess/onFailure返回函数,Kotlin

runCatching异常捕获onSuccess/onFailure返回函数,Kotlin fun test(a: Int, b: Int) {runCatching {a / b}.onSuccess {println("onSuccess: $it")return ok(it)}.onFailure {println("onFailure: $it")return fail(it)} }fun ok(o: Any) {prin…

QT第一步

文章目录 软件下载软件安装QT的程序组新建项目 软件下载 qt下载网址:https://download.qt.io/archive/qt/   关于版本:     我选择的版本是5.14.2,这个版本是最后的二进制安装包的版本,在往后的版本就需要在线安装了。并且5…

常用网安渗透工具及命令(扫目录、解密爆破、漏洞信息搜索)

目录 dirsearch: dirmap: 输入目标 文件读取 ciphey(很强的一个自动解密工具): john(破解密码): whatweb指纹识别: searchsploit: 例1: 例2: 例3&…

QT5 CMake进行开发

配置环境 因为是使用CMake进行开发,所以推荐使用的QT版本是 5.14.2。因为楼主有 vs2015的环境,所以在安装QT时选择的是 msvc 2015 64bit msvc 2017 32bit 勾选了所有需要的模块。kit配置如下 图中画框的地方是比较关键的地方,1. 指定编译器…

3. cgal 示例 GIS (Geographic Information System)

GIS (Geographic Information System) 地理信息系统 原文地址: https://doc.cgal.org/latest/Manual/tuto_gis.html GIS 应用中使用的许多传感器(例如激光雷达)都会生成密集的点云。此类应用程序通常利用更先进的数据结构:例如,不…

【STM32】STM32学习笔记-对射式红外传感器计次 旋转编码器计次(12)

00. 目录 文章目录 00. 目录01. NVIC相关函数1.1 NVIC_PriorityGroupConfig函数1.2 NVIC_PriorityGroup类型1.3 NVIC_Init函数1.4 NVIC_InitTypeDef类型 02. 外部中断相关API2.1 GPIO_EXTILineConfig2.2 EXTI_Init2.3 EXTI_GetITStatus2.4 EXTI_ClearITPendingBit2.5 中断回调函…

一篇文章了解Flutter Json系列化和反序列化

目录 一. 使用dart:convert实现JSON格式编解码1. 生成数据模型类2. 将JSON数据转化成数据模型类3. 数据模型类转化成JSON字符串 二、借助json_serializable实现Json编解码1.添加json_annotation、build_runner、json_serializable依赖2. 创建一个数据模型类3. 使用命令行生成JS…

【XR806开发板试用】+ 通过网络控制led并上报按键状态

通过网络控制led并上报按键状态 本次做一个手机通过mqtt服务器控制板子上的LED亮灭,板子也可以将按钮状态变化通过mqtt服务器上报给手机的功能 硬件上,从原理图看,LED接到了PA21,高电平点亮。 按键则时接到了PA11,并…

kali虚拟机无网络

1.查看虚拟机的网卡模式 在虚拟机设置里,一般选择桥接模式,也可以选择NAT模式。 2、你的IP地址是否写死了(设置为静态IP) vim编辑模式下的命令: 按a或i进入编辑模式,然后按esc键退出编辑模式,s…

多条件三元表达式如何写?

在某些业务需求情况下,如何书写多条件三元表达式?(例如,父组件传值给子组件,子组件根据不同的值去响应不同的颜色变化该如何实现?) 父组件: 父组件传testData的值给子组件&#xff…

diffuser库之 Load pipelines, models, and schedulers 的阅读记录

加载不同pipeline safe checker pipeline转换 加载模型配置 远程库与本地库使用区别 本地库必须引入variant参数用于选择加载哪一种模型 保存模型 修改pipeline的scheduler pipeline class以及各个子模块的定义

保护性地编写readObject方法

在Java中,通过谨慎保护性地编写 readObject 方法,我们可以在对象反序列化的过程中加入额外的安全检查和验证,以确保反序列化后的对象的状态是合法和安全的。以下是一个简单的例子,演示如何保护性地编写 readObject 方法&#xff1…

表格el-tooltip和show-overflow-tooltip衝突

表格el-tooltip和show-overflow-tooltip衝突&#xff1a; 二、产品需要实现的效果如下 三、解决文案 1、HTML代码 <el-table:data"tableData"header-row-class-name"custom-table-header"header-cell-class-name"custom-table-header-cell"…

【高效写作技巧】文章质量分有什么用?如何提高质量分

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《写作技巧》 《C嘎嘎干货基地》 ⛺️生活的理想&#xff0c;就是为了理想的生活! &#x1f4cb; 前言 &#x1f308;hello&#xff01; 各位铁铁们大家好啊&#xff0c;这段时间接触了一些刚开始写作的新人…

Command line is too long. Shorten command line for Application or also

一、问题描述 Error running ‘Application’: Command line is too long. Shorten command line for Application or also for Spring Boot default configuration? 二、原因分析 springboot项目启动命令过长&#xff01; 三、解决方案 第1步:点击项目启动配置项 第2步…

Python 爬虫之简单的爬虫(二)

爬取百度热搜榜 文章目录 爬取百度热搜榜前言一、展示哪些东西二、基本流程三、前期数据获取1.引入库2.请求解析获取 四、后期数据处理1.获取保存 总结 前言 每次打开浏览器&#xff0c;我基本上都会看一下百度热搜榜。这篇我就写一下如何获取百度的热搜榜信息吧。 如果到最后…

C++ list常用操作

目录 一、介绍 二、list的常用操作 1、构造 2、迭代器 3、元素访问 4、容量操作 一、介绍 std::list文档链接 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是双向链表结构&#xff0c;双向链表中每个…

D3D12可编程渲染流水线

一、初始化D3D库 启用 DirectX数学库 x86需要启用SSE2指令集&#xff0c;所有平台均需将浮点模型设置为fast。默认为&#xff1a; 精度 (/fp:precise)。 #include <DirectXMath.h> #include <DirectXPackedVector.h> 启用调试模式下的内存泄漏检测 // Enabl…

android studio 创建按钮项目

1&#xff09;、新建一个empty activity项目&#xff0c;切换到project视图&#xff1a; 2&#xff09;、修改app\src\main\res\layout\activity_main.xml文件&#xff0c;修改后如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <andr…