如何利用 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 对比详情)》电子书。

相关推荐
美团测试工程师1 小时前
Postman接口测试工具使用详解
测试工具·postman
测试杂货铺3 小时前
如何用postman做接口自动化测试及完美的可视化报告?
自动化测试·软件测试·测试工具·职场和发展·jenkins·压力测试·postman
一二小选手4 小时前
Postman接口测试工具
java·测试工具·postman
测试老哥8 小时前
Jmeter测试脚本编写技巧
自动化测试·软件测试·功能测试·测试工具·jmeter·职场和发展·性能测试
爱学测试的李木子9 小时前
从0到1搭建 Android 自动化 python+appium 环境
android·软件测试·python·测试工具·自动化
霍格沃兹测试开发学社测试人社区11 小时前
软件测试丨性能测试工具-JMeter
软件测试·测试开发·测试工具·jmeter·性能测试
小张认为的测试12 小时前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试
美团测试工程师1 天前
九大高效的前端测试工具与框架
软件测试·测试工具·jmeter
小白学大数据1 天前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
weixin_419349791 天前
selenium 报错 invalid argument: invalid locator
selenium·测试工具