当前位置: 首页 > news >正文

如何利用 SmartX 存储性能测试工具 OWL 优化性能管理?

作者:深耕行业的 SmartX 金融团队 张瑞松

运维人员在日常管理集群时,有时难免会产生这样的困惑:

  • 新业务准备上线,在具备多套存储的情况下,应如何选择承载业务的存储环境?

  • 业务虚拟机刚上线时运行速度很快,而运行一段时间后,为什么软硬件没有直观的问题但运行还是会变慢?

  • 业务反馈虚拟机性能时好时坏,这是怎么回事?

  • 新上线的存储与原来的配置不一样,怎样判断两者的性能差别,以及他们分别适合运行什么样的业务?

这些场景都涉及到存储的性能监控,同时也考验运维人员利用监测数据合理安排业务放置、对性能进行调优的能力。

为了帮助用户更好地管理集群存储性能,SmartX 自主研发了自动化存储性能测试工具 OWL。本文中,我们将为大家介绍 OWL 的功能特性和使用方法,并通过实际应用展现如何利用 OWL 测试结果优化性能管理,避免性能瓶颈。

OWL 工具介绍

OWL 是 SmartX 自研的自动化存储性能测试 Web 平台,以 fio 作为性能获取工具,进行集群的性能压力测试。由于 fio 可以调整为多队列、多带宽、多 I/O 模型的测试情景,能够模拟大多数的业务 I/O(如 MySQL 的性能测试调优就经常使用 fio),因此成为了支持 OWL 的最佳选择。另外,OWL 并不绑定 SmartX 超融合集群,用户也可在其他环境中使用 OWL 进行性能测试

OWL 可以通过以下三个方面为用户提供帮助:

适应不同硬件配置,提供每套存储各自的存储性能“基线”

为了满足 IT 基础架构信创转型需求,用户可能会购入此前未接触过的国产配件。多种配件组合下,工程师需要了解这些新配置的存储可以达到多少性能、支持哪些应用和数据库。传统的验证方式是直接使用新架构试跑一台业务虚拟机,而使用 OWL 则可以通过模拟类似的 I/O 模型,验证集群的性能情况,从而测试出这套集群存储的性能基线。

参考存储性能基线,分类上线业务虚拟机

用户可基于 OWL 提供的存储性能基线,为需要上线的业务虚拟机选择合适的存储集群。比如 IOPS 较大的数据库业务,用户可使用全闪集群,而对于 IOPS 比较轻量、数据交互较少的业务,用户可使用性价比较高的混闪集群。

另外,OWL 除了能让用户预先了解每台主机能承载的最大 I/O,还可以通过搭建模拟环境,帮助用户在业务上线前了解其可能需要的 I/O 大小,合理分配虚拟机放置,避免将多台带宽占用较大的虚拟机放在一台主机上,导致业务正式上线后出现带宽“被业务追着跑”的情况。

结合告警功能,主动告警性能瓶颈风险

用户在使用 OWL 获取性能测试基线后,可在每套集群的告警规则上设置对应存储性能的读写带宽阈值。当虚拟机的带宽达到了主带宽的 70% 和 80% 时,运维工程师会分别收到告警提示,从而及时观察虚拟机及其他主机的带宽占用情况。这样用户可以在新业务上线之前,将这台虚拟机迁移到相对空闲的主机或集群上。

OWL 使用方法及测试流程

测试前准备

由于 OWL 工具以虚拟机形式运作,用户需要进行 ovf 导入,为 OWL 配置 IP 地址,且保证 OWL 与 test VM ssh 通讯。Test VM 配置要求如下:

  • Linux 2c 4G 40G+50G

  • 配置 IP 地址,且与 OWL 工具 ssh 通讯

  • 安装 FIO 软件

测试流程

  1. 登录 OWL Web 界面。

  2. 创建测试模型。

  3. 添加测试对象。

  4. 创建测试任务。

  5. 启动测试任务。

  6. OWL 结合告警功能,主动告警性能瓶颈风险。

详细测试过程,请参考以下 Demo 演示:集群存储性能的监控管理与自动化测试工具介绍。

利用测试结果优化存储性能管理

常用测试模型

以下为演示中我们常用的 I/O 测试模型。

图片

告警阈值计算与设置方式

通过上面的测试拿到性能基线后,用户可以计算出对应的写带宽阈值和读带宽阈值,并在集群里添加告警规则。我们以下图为例介绍阈值的计算方式。

两副本

图片

以上两组数据,分别是对 8 节点集群中 1 台主机运行 1 台虚拟机,和 8 台主机分别运行 1 虚拟机,进行测试。

我们主要关注带宽。以写带宽为例,在 8P8V 256K 顺序写场景中,写带宽为 7278。我们将 7278 除以 8,得到每一个节点带宽的平均值,然后再将 MBPS 换算成 BPS,该值的 70% 就是我们需要设定为注意级别的告警阈值。

写带宽严重告警阈值我们会看 8P1V 256K 场景下的数值。这里写带宽是 1656.86 MBPS,经过单位换算后,这个数值的 80% 将直接作为严重级别的告警阈值。由此,我们得到两个写带宽阈值数值,如下图所示。

图片

读带宽告警阈值计算方式与写带宽相同,上述例子中读带宽阈值设置如下图所示。

图片

用户实践

案例一:运维工程师及时收到性能告警,规避业务影响

某用户使用 OWL 工具进行带宽压测后发现,集群中的某一节点带宽超过了 1.7 GB/s,已超过严重警告级别的阈值。SmartX 后台自动发送告警,提醒运维工程师存储性能已接近极限,从而避免对业务带来直接影响。

图片

案例二:某国有银行利用 OWL 定制 I/O 模型测试集群性能

某国有银行为了满足监管需求,利用 OWL 按照定制 I/O 模型(48K,randrw=1:9)连续 12 小时测试集群性能。测试结果显示(如下图),该集群平均 IOPS 标准差可达 54338,延时在 1 毫秒左右。

图片

案例三:某国有银行利用 OWL 评估集群性能是否满足 99th Percentile 要求

某国有银行关注到 99th Percentile 要求,利用 OWL 测试对应的块大小下的存储性能,直观了解该场景下集群的性能情况。测试结果如图所示。

图片

欲了解更多 SmartX 超融合智能运维特性,请阅读:一文了解 SmartX 超融合硬盘健康检测机制与运维实践,或扫描下方二维码,获取《SmartX 超融合技术原理与特性解析合集(含 VMware 对比详情)》电子书。

相关文章:

如何利用 SmartX 存储性能测试工具 OWL 优化性能管理?

作者:深耕行业的 SmartX 金融团队 张瑞松 运维人员在日常管理集群时,有时难免会产生这样的困惑: 新业务准备上线,在具备多套存储的情况下,应如何选择承载业务的存储环境? 业务虚拟机刚上线时运行速度很快…...

固定资产管理措施怎么写

固定资产管理措施是指企业在进行固定资产管理时所采取的各种措施和方法。以下是一些常见的固定资产管理措施:  建立完善的固定资产管理制度。制定明确的资产采购、使用、维护、报废等流程和标准,确保资产管理的规范性和透明度。  采用先进的资产管理…...

C语言中typedef和const的区别

昨天面试的时候面试官问了这个问题,平时也有见过这两个类型限定词,可能是因为不怎么使用的原因,当问到它们的区别时,我不知道从哪个方面开始回答。 用 typedef 定义新的类型名 类型定义的书写格式为 typedef 类型 被定义的类型名 …...

大数据系列教程之 Kafka基础

kafka概述 一、kafka概述 1.1 定义1.2 消息队列 1.2.1 传统消息队列的应用场景1.2.2 消息队列的两种形式1.3 Kafka 基础架构二、kafka安装部署 2.1安装部署 2.1.1.jar包下载2.1.2.解压到指定的文件夹下2.1.3.创建两个文件夹以供后续使用2.1.4. 修改配置文件 (1&…...

【Go 基础篇】Go语言日期与时间函数详解:时间的掌控与转化

Go语言是一种快速、简洁且高效的编程语言,它在处理日期与时间方面提供了丰富的标准库函数。本文将详细介绍Go语言中处理日期与时间的函数,涵盖常用的日期时间操作、格式化、时区转换等内容,并介绍time.Time结构体中的相关方法。 时间的表示与…...

抽象工厂模式:创建相关对象族

欢迎阅读设计模式系列的第四篇文章!在前面的文章中,我们已经学习了设计模式的基本概念以及工厂方法模式的应用。 今天,我们将继续深入,介绍第三个模式——抽象工厂模式。 抽象工厂模式简介 抽象工厂模式是一种创建型设计模式&a…...

uniapp:安卓permission权限表及setting表

安卓permission权限表 权限名称说明android.permission.WRITE_USER_DICTIONARY允许应用程序向用户词典中写入新词android.permission.WRITE_SYNC_SETTINGS写入 Google 在线同步设置android.permission.WRITE_SOCIAL_STREAM读取用户的社交信息流android.permission.WRITE_SMS允…...

汽车服务门店小程序模板制作指南

在数字化时代,一个小程序的力量不可忽视。它不仅是展示品牌形象和提供用户服务的重要工具,更是扩大客户群体和提高营收的关键手段。对于汽车服务门店来说,拥有一个精美且功能齐全的小程序,更将成为你在竞争激烈的市场中的重要武器…...

Apache SeaTunnel 2.3.3 版本发布,CDC 支持 Schema Evolution!

时隔两个月, Apache SeaTunnel 终于迎来大版本更新。此次发布的 2.3.3 版本在功能和性能上均有较大优化改进,其中大家期待已久的 CDC Schema evolution(DDL 变更同步)、主键 Split 拆分、JDBC Sink 自动建表功能、SeaTunnel Zeta …...

工厂方法模式的概述和使用

目录 一、工厂方法模式概述1. 定义2. 使用动机 二、工厂方法模式结构1. 模式结构2. 时序图 三、工厂方法模式的使用实例四、工厂方法模式的优缺点五、工厂方法模式在Java中应用 原文链接 一、工厂方法模式概述 1. 定义 工厂方法模式(Factory Method Pattern)又称为工厂模式&…...

HP惠普星15青春版/惠普小欧笔记本电脑15s-du1008tx原装出厂Win11系统

适用型号:15s-du1007tx、15s-du1008tx、15s-du1009tx、15s-du1010tx、15s-du1011tx、15s-du1012tx、15s-du1013tx 自带所有驱动、出厂主题壁纸LOGO、Office办公软件、惠普电脑管家等预装程序 所需要工具:32G或以上的U盘 文件格式:ISO 文件大…...

聊聊检索增强,LangChain一把梭能行吗?

背景 ChatGPT诞生之初,大家仿佛从中看到了未来:可以拿着大语言模型(LLM)这把锤子,锤遍业务上的钉子。其中最被看好的场景,莫过于搜索,不仅是微软、谷歌、百度这样的大公司将LLM用到自己的搜索业…...

【力扣】343. 整数拆分 <动态规划、数学>

【力扣】343. 整数拆分 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。返回可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 10 输出:…...

数据结构--5.1图的存储结构(十字链表、邻接多重表、边集数组)

目录 一、十字链表(Orthogonal List) 二、邻接多重表 三、边集数组 四、深度优先遍历 一、十字链表(Orthogonal List) 重新定义顶点表结点结构: datafirstInfirstOut 重新定义边表结构结点: tailV…...

mac上 Kratos 配置 protoc

前言 protoc 是 protobuf 文件(.proto)的编译器,可以借助这个工具把 .proto 文件转译成各种编程语言对应的源码,包含数据类型定义、调用接口等。 protoc 在设计上把 protobuf 和不同的语言解耦了,底层用 c 来实现 protobuf 结构的存储&#x…...

【c++5道练习题】①

目录 一、有限制的累加 二、计算日期到天数转换 三、仅仅反转字母 四、 字符串的第一个唯一字符 五、字符串最后一个单词的长度 一、有限制的累加 题述: 求123...n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句…...

最佳实践:TiDB 业务读变慢分析处理

作者:李文杰 网易游戏计费 TiDB 负责人 在使用或运维管理 TiDB 的过程中,大家几乎都遇到过 SQL 变慢的问题,尤其是查询相关的读变慢问题。读变慢的问题大部分情况下都遵循一定的规律,通过经验的积累可以快速的定位和优化&#xff…...

【ES6】Getter和Setter

JavaScript中的getter和setter方法可以用于访问和修改对象的属性。这些方法可以通过使用对象字面量或Object.defineProperty()方法来定义。 以下是使用getter和setter方法的示例&#xff1a; <!DOCTYPE html> <script>const cart {_wheels: 4,get wheels(){retu…...

3DS Max中绘制圆锥箭头

3DS Max中绘制圆锥箭头 绘制结果绘制过程步骤一&#xff1a;绘制立体圆锥方法1方法2 步骤二&#xff1a;圆锥体调参&#xff08;模型尺寸设置&#xff09;1圆锥体参数说明2圆锥体参数调整 步骤三&#xff1a;绘制圆柱体步骤四&#xff1a;圆柱体调参步骤五&#xff1a;圆锥与圆…...

虚拟机Ubuntu20.04 网络连接器图标开机不显示怎么办

执行以下指令&#xff1a; sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service network-manager start...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...