如何利用 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 软件
测试流程
登录 OWL Web 界面。
创建测试模型。
添加测试对象。
创建测试任务。
启动测试任务。
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 对比详情)》电子书。
推荐阅读: