当前位置: 首页 > 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...

2026 AI低代码实测:原理拆解+主流形态,避坑指南

2026年&#xff0c;AI低代码早已不是“概念炒作”&#xff0c;而是企业数字化转型的核心工具。Gartner预测&#xff0c;2026年全球70%以上新应用将采用低代码/无代码构建&#xff0c;较2023年45%的渗透率实现跨越式增长&#xff1b;IDC数据显示&#xff0c;同期全球AI低代码市场…...

英雄联盟个性化工具终极指南:3分钟免费打造专属游戏身份

英雄联盟个性化工具终极指南&#xff1a;3分钟免费打造专属游戏身份 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 想要在英雄联盟中展示与众不同的个人资料吗&#xff1f;LeaguePrank是一款开源免费的英雄联盟个性化工具&am…...

西南交通大学【数电实验之Modelsim仿真全流程实战】

1. 从零开始搭建Modelsim仿真环境 第一次接触数字电路仿真的同学可能会觉得Modelsim界面复杂&#xff0c;其实只要跟着步骤一步步操作&#xff0c;半小时就能跑通第一个仿真案例。我当年在西南交大做数电实验时&#xff0c;也经历过从一脸懵到熟练操作的过程&#xff0c;这里把…...

std::accumulate算法深度解析:从求和到通用折叠,解锁STL隐藏的瑞士军刀

1. 重新认识std::accumulate&#xff1a;不只是求和工具 第一次接触std::accumulate时&#xff0c;大多数人都是从求和开始的。确实&#xff0c;这个算法默认行为就是对范围内的元素进行累加。但如果你只把它当作一个高级计算器&#xff0c;那就太小看这个STL中的"瑞士军刀…...

仅限内部团队使用的Perplexity行业扫描协议(附可复用Prompt模板库+信源可信度评分表v2.3)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity行业扫描协议的定位与适用边界 Perplexity行业扫描协议&#xff08;Perplexity Industry Scanning Protocol&#xff0c;简称PISP&#xff09;并非通用型AI评估框架&#xff0c;而是一套面向垂直领…...

限时公开!Perplexity内部图书语义索引机制解析(含ISBN/DOI/学科标签三级权重算法)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;限时公开&#xff01;Perplexity内部图书语义索引机制解析&#xff08;含ISBN/DOI/学科标签三级权重算法&#xff09; Perplexity 的图书知识图谱并非依赖传统全文倒排索引&#xff0c;而是构建于一套动…...

告别通用OCR:如何用PaddleOCR针对银行卡场景做定制化检测模型优化?

告别通用OCR&#xff1a;如何用PaddleOCR针对银行卡场景做定制化检测模型优化&#xff1f; 银行卡识别一直是金融科技领域的高频需求&#xff0c;但通用OCR模型在应对银行卡这类特殊场景时往往力不从心。我曾参与过多个银行的移动端项目&#xff0c;亲眼见证过通用模型在识别卡…...

别再凭感觉布线了!用ADS仿真手把手教你搞定PCB信号完整性的5种端接方案

高速PCB设计实战&#xff1a;5种端接方案在ADS中的精准仿真与选型指南 当你在深夜盯着示波器上扭曲的方波和顽固的振铃时&#xff0c;是否曾怀疑过自己的PCB设计生涯&#xff1f;信号完整性不是玄学&#xff0c;而是一门可以通过仿真精确控制的工程艺术。本文将用Keysight ADS&…...

不只是F5隐写:一次CTF解题,带你深入理解ZIP伪加密的底层原理与手动修复

深入解析ZIP伪加密&#xff1a;从CTF实战到二进制手动修复 在CTF竞赛中&#xff0c;ZIP伪加密一直是Misc类题目的经典考点。不同于常规的加密破解&#xff0c;伪加密巧妙地利用了ZIP文件格式的设计特性&#xff0c;在不实际加密数据的情况下制造出需要密码的假象。本文将带您深…...

别再乱用sudo了!麒麟KYLINOS下用ACL实现安全的精细化权限控制

麒麟KYLINOS权限管理革命&#xff1a;用ACL替代sudo的精细化控制实战 在麒麟KYLINOS操作系统中&#xff0c;许多管理员习惯性地使用sudo或简单粗暴的chmod 777来解决权限问题&#xff0c;这种"一刀切"的做法实际上为系统安全埋下了重大隐患。想象一下这样的场景&…...