2、Mysql基准测试

准测试是针对系统设计的一种压力测试。通常的目标是为了掌握系统的行为。


为什么需要基准测试

基准测试是唯一方便有效的,可以学习系统在给定的工作负载下会发生什么的方法。基准测试可以观察系统在不同压力下的行为,评估系统的容量,掌握哪些是重要的变化,或者观察系统如何处理不同的数据。
基准测试可以在系统实际负载之外创造一些虚构的场景进行测试:

  • 验证基于系统的一些假设,确认这些假设是否符合实际情况
  • 重现系统中的某些异常行为,以解决这些异常
  • 测试系统当前的运行情况
  • 模拟比当前系统更高的负载,以找出系统随着压力增加而可能遇到的扩展性瓶颈
  • 规划未来业务增长
  • 测试应用适应可变环境的能力
  • 测试不同的硬件、软件和操作系统配置
  • 证明新采购的设备是否配置正确

基准测试的一个主要问题在于其不是真实的压力测试,基准测试施加给系统的压力相对真实压力来说比较简单。真实压力是不可预期而且变化多端的,有时候情况会过于复杂而难以解释。

基准测试的策略

基准测试有两种主要的策略:一是针对整个系统的整体测试,另外是单独测试Mysql。这两种策略也被称为集成式以及单组件式基准测试。
进行集成式测试的原因主要是:

  • 测试整个应用系统包括Web服务器,代码,网络和数据库是非常有用的,因为用户关注的是整体的应用而不是数据库
  • Mysql并不总是应用的瓶颈
  • 只有对应用做整体测试,才能发现各个部分之间的缓存带来的影响
  • 整体应用的集成式测试更能揭示应用的真实表现,而单独组件的测试很难做到这一点

另外整体基准测试很难建立,如果测试的设计有问题,那么结果就无法反映真实的情况。不过在项目初期可以选择只关注Mysql的性能做单独测试。

测试指标

  • 吞吐量:单位时间内的事务处理数
  • 响应时间或者延迟:用于测试任务所需的整体时间
  • 并发性
  • 可扩展性

基准测试方法

如何避免一些常见的错误:

  • 使用真实数据的子集而不是全集
  • 使用错误的数据分布
  • 使用不真实的分布参数
  • 在多用户场景中只做单用户测试
  • 在单服务器上测试分布式应用
  • 与真实用户行为不匹配
  • 反复执行同一个查询
  • 没有检查错误
  • 忽略了系统预热
  • 使用默认的服务器配置
  • 测试时间太短

设计和规划基准测试

规划基准测试的第一步就是提出问题并明确目标,然后决定是采用标准的基准测试还是设计专用的测试。

基准测试应该运行多长时间

基准测试应该运行足够长的时间,这一点很重要。如果需要测试系统在稳定状态时的性能,那么当然需要再稳定状态下测试并观察。而如果系统有大量的数据和内存,要达到稳定状态可能需要非常长的时间。
有时候无法确定测试需要运行多长时间,可以先一直运行持续观察直到确认系统已经稳定。

获取系统性能和状态

在执行基准测试时,需要尽可能多地收集被测试系统的信息。包括系统状态和性能指标,如CPU使用率,磁盘IO等等。

获得准确的测试结果

运行基准测试并分析结果

基准测试工具

集成式测试工具

ab

ab是Apache Http服务器基准测试工具。他可以测试HTTP服务器每秒最多可以处理多少请求。如果测试的是Web应用服务,这个结果可以转换成整个应用每秒可以满足多少请求。。

http_load

这个工具概念上和ab类似,也被设计为对Web服务器进行测试,但比ab更加灵活。

JMeter

JMeter是一个java应用程序,可以加载其他应用并测试其性能。虽然是设计用来测试Web应用的,但是也可以用于测试其他FTP服务器,或者通过JDBC进行数据库查询测试。

单组件式测试工具

mysqlslap

Mysql Benchmark Suite

Super Smack

Database Test Suite

Percona’s TPCC-Mysql Tool

sysbench

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

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

相关文章

.NET开源的处理分布式事务的解决方案

前言 在分布式系统中,由于各个系统服务之间的独立性和网络通信的不确定性,要确保跨系统的事务操作的最终一致性是一项重大的挑战。今天给大家推荐一个.NET开源的处理分布式事务的解决方案基于 .NET Standard 的 C# 库:CAP。 CAP项目介绍 CA…

homeassistant 随笔

1.使用mushroom-strategy自动生成ui,隐藏中文ares,名字为区域的拼音,例如显示厨房则真实名字为chu_fang 隐藏图片中的工作室 代码为:

基于SpringBoot的在线视频教育平台的设计与实现

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于在线视频教育平台当然也不能排除在外,随着网络技术的不断成熟,带动了在线视频教育平台,它彻底改变了过…

[Java 源码] 秋招常被问到 GC 相关的几道面试题(集中在分配以及回收)

垃圾回收,顾名思义就是释放垃圾占用的空间,从而提升程序性能,防止内存泄露。当一个对象不再被需要时,该对象就需要被回收并释放空间。 Java 内存运行时数据区域包括程序计数器、虚拟机栈、本地方法栈、堆等区域。其中,…

C语言贪吃蛇(有详细注释)

这个贪吃蛇是在比特特训营里学到的,同时我还写了用EasyX图形库实现的图形化贪吃蛇,含有每个函数的实现以及游戏中各种细节的讲解,感兴趣的可以去看一看。 贪吃蛇小游戏 实现效果 以下就是源码,感兴趣的小伙伴可以cv自己玩一玩改…

Windows系列:windows server 2016 下域环境的搭建(完整版)

windows server 2016 下域环境的搭建(完整版) windows server 2016 下域环境的搭建在搭建之前简单介绍一下基础知识:一、环境介绍 :1.这里用拓扑图进行展示:2.所有环境配置如下 二、搭建主域:一. 创建主域1…

Java+SSM springboot+MySQL家政服务预约网站设计en24b

随着社区居民对生活品质的追求以及社会老龄化的加剧,社区居民对家政服务的需求越来越多,家政服务业逐渐成为政府推动、扶持和建设的重点行业。家政服务信息化有助于提高社区家政服务的工作效率和质量。 本次开发的家政服务网站是一个面向社区的家政服务网…

华为云之云桌面Workspace的使用体验

华为云之云桌面Workspace的使用体验 一、云桌面Workspace介绍1.云桌面简介2.云桌面特点3. 云桌面应用场景①远程移动办公②协同办公③安全办公④公用终端⑤图形制作渲染 二、本次实践介绍1. 本次实践目的2. 本次实践环境 三、购买云桌面1. 进入华为云的云桌面购买界面2. 选择购…

C# Onnx 百度飞桨开源PP-YOLOE-Plus目标检测

目录 效果 模型信息 项目 代码 下载 C# Onnx 百度飞桨开源PP-YOLOE-Plus目标检测 效果 模型信息 Inputs ------------------------- name:image tensor:Float[1, 3, 640, 640] name:scale_factor tensor:Float[1, 2] ----…

Redis 基本命令

使用 Redis 字符串、列表和集合的常用命令完成任务分配的后端处理逻辑。 相关知识 你需要掌握:1.常用字符串命令,2.常用列表命令,3.常用集合命令。 常用字符串命令 Redis 的字符串可以存储三种类型的值…

服务器之间的conda环境迁移

有的时候python环境中可能包含了我们编译好的很多库文件,如果在别的服务器想直接使用环境就会比较困难些。最好的办法就是直接迁移环境。而传统的迁移方法导出“*.yaml”环境配置的这种方法,实际是需要重新安装环境,对于这种安装好的环境是不…

数据结构:图文详解顺序表的各种操作(新增元素,查找元素,删除元素,给指定位置元素赋值)

目录 一.顺序表的概念 二.顺序表的实现 新增元素 默认尾部新增 指定位置添加元素 查找元素 查找是否存在 查找元素对应的位置 查找指定位置对应的元素 删除元素 获取顺序表长度 清空顺序表 一.顺序表的概念 在线性数据结构中,我们一般分为俩类&#xf…

在Transformer模型中, Positional Encoding的破坏性分析

在Transformer模型中,Word Embedding 被加上一个Positional Encoding,是否会破坏原来的Word Embedding 的含义 Sinusoidal Positional Encoding的破坏性可以从两个方面来分析:一是对Word Embedding的语义信息的破坏,二是对Word Em…

程序员也需要养生——程序员睡不好,重视一下你的情绪吧

程序员也需要养生——程序员睡不好,重视一下你的情绪吧 睡眠是一个复杂的系统工程,可以促进生长发育,修复受损的组织。促进大脑细胞的修复等等。在情绪的失调会影响到我们的睡眠状况。 一、心情差,压力大,睡不好跟这…

项目设计---MQ

文章目录 一. 项目描述二. 核心技术三. 需求分析概要设计四. 详细设计4.1 服务器模块4.1.1 内存管理4.1.2 硬盘管理4.1.2.1 数据库管理4.1.2.2 文件管理 4.1.3 消息转发 4.2 客户端模块4.2.1 连接管理4.2.2 信道管理 4.3 公共模块4.3.1 通信协议4.3.2 序列化/反序列化 一. 项目…

利润大增,MAU膝斩,谋求转型的新氧头顶“荆棘王冠”

撰稿|行星 来源|贝多财经 近日,医疗美容服务平台新氧科技(NASDAQ:SY,下称“新氧”)发布了2023年第三季度未经审计的财务业绩报告。 财报显示,新氧于2023年第三季度实现收入3.85亿元,同比增长19.2%&#x…

【redis数据结构和高性能原理】

文章目录 Redis的单线程和高性能Redis是单线程吗?Redis 单线程为什么还能这么快?Redis 单线程如何处理那么多的并发客户端连接? Redis的单线程和高性能 Redis是单线程吗? Redis 的单线程主要是指 Redis 的网络 IO 和键值对读写是…

【玩转 EdgeOne】| 腾讯云下一代边缘加速CDN EdgeOne 是安全加速界的未来吗?

目录 前言边缘加速与安全加固边缘计算与CDN的融合EdgeOne优秀的安全特性EdgeOne卓越的性能表现灵活的配置和管理生态系统的支持与发展技术创新与未来展望EdgeOne试用结束语 前言 在当下互联网的迅猛发展的时刻,云计算和边缘计算技术的快速发展为网络加速领域带来了…

Linux下查看目录大小

查看目录大小 Linux下查看当前目录大小,可用一下命令: du -h --max-depth1它会从下到大的显示文件的大小。

WARNING: Access control is not enabled for the database.

MongoDB shell version v3.4.24 WARNING: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted. 1)未启用访问控制 2)读写访问不受限制 D:\MongoDB\Server\3.4\bin>mongo MongoDB shell version v3.4.24 c…