产品评测:SmartX 与 Nutanix 超融合在数据库场景下的性能表现

重点内容

  • SmartX 与 Nutanix 超融合分布式存储设计差异如何影响数据库性能表现。
  • 重点测试结论:数据库场景下,SmartX 超融合基于单卷部署的性能,依旧优于 Nutanix 超融合基于多卷部署+最佳配置的性能。
  • 更多 SmartX、VMware、Nutanix 超融合技术与性能对比,欢迎下载阅读《超融合技术原理与特性解析合集(一)虚拟化与存储》超融合技术原理与特性解析合集(二)管理与运维》电子书。

自从 Nutanix 将国内的服务变更为合作伙伴销售主导模式,不少用户纷纷转向其他厂商的超融合解决方案,替换 Nutanix 超融合。在《Nutanix 国产化替代|一文了解 SmartX 超融合替代可行性与迁移方案》中,我们从市场格局、技术特性和性能的角度探讨了 SmartX 超融合替代 Nutanix 的可行性。本文,我们将进一步对比 SmartX 与 Nutanix 超融合在数据库支持上的技术与性能差异,帮助用户更直观地了解两者在数据库场景下的具体表现。


总体而言,相较存写缓存分离的 DSF(Nutanix 分布式存储),SmartX 分布式存储 ZBS 采用统一的缓存空间,能更好地满足大型数据库的性能需求;SmartX 超融合在基准性能测试与数据库场景性能测试中的整体表现也优于 Nutanix 超融合,尤其是在数据库插入测试中,在单数据卷部署 Oracle 时,SmartX 超融合性能较 Nutanix 超融合提升超 60%,而参考 Nutanix 最佳实践拆分数据卷后,单卷 SmartX 超融合性能表现仍高于 Nutanix 超融合约 5%。

技术对比:分布式存储设计实现如何影响超融合在数据库场景下的表现

超融合主要由虚拟化和分布式存储两大部分构成。在虚拟化方面 SmartX 与 Nutanix 超融合均选择了 KVM 作为其基础。这意味着它们都采用了开源的虚拟化技术,为用户提供高度的灵活性和可迭代性。这一共同点使得两者在虚拟化层面的性能和特性较为接近,真正的区别体现在它们的核心分布式存储系统上。

其中,SmartX 的分布式存储 ZBS 使用统一缓存空间,注重于提供简单而高效的块存储服务。而 Nutanix 的分布式存储 DSF 采用存写缓存分离构建了更为复杂的分布式存储网络。这为得盘率带来了一定的提升,但在实际应用中也引入了一些挑战。例如,在面对大型数据库时,单一虚拟硬盘的性能可能无法满足要求,需要通过使用多个虚拟硬盘并行操作来提高性能。两者的具体技术差异如下:

nutanix数据库1.png

smartx-vs-nutanixdatabae-2.png

关于 SmartX 与 Nutanix 超融合在技术与架构方面的更多对比资料,请阅读:《Nutanix 国产化替代|一文了解 SmartX 超融合替代可行性与迁移方案》。

综合验证:基准性能测试和数据库场景性能测试

接下来我们看一下两种超融合在性能上的具体表现。在本次测试中,包含基于 FIO 的存储性能测试和基于 Oracle 的数据库场景测试。SmartX 均基于单卷进行部署测试,而 Nutanix 根据最佳实践,分别基于单卷和多卷进行部署测试。注:根据 Nutanix 数据库迁移最佳实践,需要多个虚拟卷并发来满足数据库的性能需求。即不建议直接迁移完整数据库实例,而是重新构建数据库后迁移数据,P2V 或 V2V 的迁移方式仅适用于开发测试环境,生产环境则需要额外部署新的数据库实例并为每个分区配备大量的条带化虚拟卷以满足性能需求。

smartx-vs-nutanix-databae-3.png

测试环境配置

本次测试在相同的 3 节点硬件平台分别部署 Nutanix AOS 6.5.2 和 SMTX OS 6.0 超融合系统,详细硬件信息如下:

smartx-vs-nutanix-databae-4.png

基准性能测试(FIO)

smartx-vs-nutanix-databae-5.png

单节点性能验证

smartx-vs-nutanix-databae-6.png

集群性能验证

smartx-vs-nutanix-databae-7.png

可以看到,SmartX 超融合在随机读写场景下的性能远高于 Nutanix 超融合,在顺序读和顺序混合读写场景下的性能略低于 Nutanix 超融合。

数据库业务场景性能测试(Oracle)

在业务测试中,选择 Oracle 单实例部署模式,SmartX 使用单卷,Nutanix 分别使用单卷和其最佳实践的多卷,具体部署方式如下:

smartx-vs-nutanix-databae-8.png

数据库导入导出场景

在数据库导入导出场景中,使用 SOE(Simple Order Entry)模型进行测试,测试不同数据量的导入导出用时,耗时越短性能越优。整体测试表明,SmartX 超融合单卷性能明显优于 Nutanix 超融合单卷,与 Nutanix-ASM 最佳部署方式接近;而在导出测试中,SmartX 超融合性能表现明显优于 Nutanix 单卷和最佳部署方式。

smartx-vs-nutanix-databae-9.png

数据库 TPC-C 场景

在数据库 TPC-C(Transaction Processing Performance Council)测试中,使用 Swingbench 工具进行压测,该测试 TPS(Transactions Per Second)越高越优。可以看到,随着并发数量增大,两种超融合平均 OPS 均有明显上升,且 SmartX 超融合单卷性能明显优于 Nutanix 单卷部署,略优于 Nutanix-ASM 最佳部署方式。

smartx-vs-nutanix-databae-10.png

数据库插入场景

该测试基于某柜台交易软件商压测脚本,进行委托表插入操作,模拟委托落库场景,每个脚本每 1000 笔提交一次,循环执行,一共 30 个 PDC 脚本同时运行,总计运行 2 分钟。该测试 COUNT(*)表示每秒插入的数据量,数值越大越优。从测试结果可以看到,在 80s 后,Nutanix 超融合多次出现接近触底的情况,而SmartX 则呈现更为稳定和均匀的性能表现。

smartx-vs-nutanix-databae-11.png

为了方便对比,我们抽取原始数据,分别去掉 10 个最高值和最低值排除极端数值干扰,并计算两者的性能平均值。可见,SmartX 超融合单卷整体性能优于 Nutanix 超融合单卷(性能提升超 60%)和最佳部署方式(性能提升约 5%)。

smartx-vs-nutanix-databae-12.png

总结

得益于 ZBS 统一的缓存空间和技术优化,SmartX 超融合在数据库场景下能提供更好的性能表现。通过 SmartX 超融合和 Nutanix 超融合在 FIO 测试和 Oracle 数据库场景测试中的性能表现,可以看出,SmartX 超融合仅需单卷部署就可以发挥最佳性能,而 Nutanix 超融合需要配置多卷并通过系统或应用的并行调度能力,才能提供近似的性能表现,并且 SmartX 超融合在多数数据库场景中性能均优于 Nutanix 超融合。

综合而言,SmartX 更符合企业原有的数据库部署规划,便于部署和迁移,无需额外运维成本,为企业提供更智能、高效的选择,助力其在新平台上充分发挥数据库潜力。

目前,浙商证券等企业用户已采用 SmartX 超融合替代 Nutanix 超融合,进一步实现 IT 基础设施的国产化转型。欲深入了解客户实践,请阅读:从 VMware、Nutanix 到 SmartX,浙商证券超融合云化与信创转型实践。

阅读原文:志凌海纳 SmartX vs. Nutanix 超融合:数据库场景下的技术与性能对比

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

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

相关文章

50kw 直流充电桩测试仪的基础知识

直流充电桩测试仪是专门用于检测和测试直流充电桩性能的设备。它能够对充电桩的输出电压、电流、功率、效率等关键参数进行精确测量,以确保充电桩的正常运行和充电安全。 一、工作原理 直流充电桩测试仪主要通过模拟实际充电过程,对充电桩的各项性能进行…

关于路由懒加载的实现

在Vue2中,实现路由懒加载可以使用import的动态引入方式。通常,我们可以将组件作为被引入的模块,并在routes配置中使用component: () > import(/components/Example.vue)来实现懒加载。 在Vue3中,懒加载的实现方式稍有不同。Vu…

测试台架设计与制作

技术改变生活,懒人推动科技。人们在执行整车测试时,诸多不便,那如何提高测试效率、改善人员测试环境,各个汽车生态的设计者就为之费神。以CarPlay为例,从2013年的送整车去美国测试,发展到如今所有测试均可在…

2024年,抖音小店开通需要多少钱?一篇详解!

大家好,我是电商糖果 2024年了,想在抖音开店卖货的朋友越来越多。 主要原因还是看到,这几年在抖音上赚到钱的人越来越多。 于是大家在今年比较关心的问题,就是抖音小店开通需要多少钱? 糖果做抖音小店四年了&#…

ESP32S3各个管脚使用需要注意的情况说明:

想使用ESP32S3做个控制电路,管脚使用情况自己整理了一下,记录一下,免得后面又忘记了,有不对之处望帮助更正: IO0和IO46先要说明一下:以前只注意IO0是启动刷机的时候用的,低电平时启动是串口刷机…

剖析Redis Sentinel:构建高可用性的Redis集群管理解决方案“

在Redis中,高可用性是一个非常重要的话题。为了保证Redis集群的稳定性和可用性,Redis Sentinel(哨兵)应运而生。 本文将深入探究Redis Sentinel的原理,帮助读者理解其工作原理和实现机制。 1. 什么是Redis Sentinel&…

javascript学习路径

学习JavaScript的路径可以根据不同的学习目标和个人偏好有所不同,但以下是一条普遍认可的学习路线,适合初学者逐步掌握JavaScript编程语言: 1. 基础语法 变量:了解如何声明和使用变量。数据类型:学习JavaScript的基本…

C++开发基础之函数参数传递的几种类型

一、前言 在C中,接口指针或类对象的函数参数传递是一个常见的做法,特别是在需要支持多态或动态绑定时。这里将介绍如何传递接口指针或类对象作为函数参数。 二、函数参数传递的几种类型 抽象类(接口)的实例只能通过指针或引用传…

如何查看打包后的jar包启动方法

背景 有时候我们在引用一个jar包的时候,想查看一个jar包的结构,这时候查看启动类就比较重要,因为一些关键配置是在启动类上的,这里教大家如何查看这个启动类(springboot项目) 步骤 首先打开jar包预览结构,可以使用解压缩工具直接双击打开或者预览结构 打开路径 META-INF/MA…

使用公有云主机部署ftp服务被动模式(centos操作系统)

文章目录 前言一、FTP服务搭建1.1 部署服务1.2 修改配置文件1.3 重启服务1.3 配置项解答 二、安全组设置访问规则2.1配置监听端口2.2 配置数据端口三、使用ftp登陆工具测试3.1 使用工具进行测试 总结 前言 使用公有云上的云主机搭建FTP服务器。 步骤思路: 1、云主机…

java将图片转为pdf

效果图 直接上代码 1.引入jar <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.24</version></dependency> 2.测试类 package pers.wwz.study.img2pdf20240507;import org.a…

scitb5函数2.1版本(交互效应函数P for interaction)发布----用于一键生成交互效应表、森林图

写在前面的话&#xff0c;此函数不适用于NHANES数据&#xff0c;也不能用于COX回归,请注意甄别。 在SCI文章中&#xff0c;交互效应表格&#xff08;通常是表五&#xff09;几乎是高分SCI必有。因为增加了亚组人群分析&#xff0c;增加了文章的可信度&#xff0c;能为文章锦上添…

电脑文件批量重命名不求人:快速操作,高效技巧让你轻松搞定

在数字化时代&#xff0c;电脑文件的管理与整理显得尤为重要。当面对大量需要重命名的文件时&#xff0c;一个个手动修改不仅耗时&#xff0c;还容易出错。那么&#xff0c;有没有一种方法可以快速、高效地完成这一任务呢&#xff1f;答案是肯定的&#xff0c;下面就来介绍几种…

在C语⾔中,⼀个结构体可以包含指向⾃⼰的指针吗?

一、问题 typedef struct {int num;short age;stu next; } *stu; 上述这段代码为什么编译出错&#xff1f;⼀个结构体不可以包含指向⾃⼰的指针吗&#xff1f; 二、解答 在C语⾔中&#xff0c;⼀个结构体可以包含指向⾃⼰的指针&#xff0c;例如这样⼀个结构体类型&#xff1…

如何使用Sentinel实现流控和降级

Sentinel 是一款面向分布式系统的流量控制、熔断和自适应限流工具&#xff0c;由Alibaba开源。Sentinel 以Java客户端的形式提供&#xff0c;可以嵌入到Java应用中以保护系统稳定运行。 以下是使用Sentinel实现流量控制和降级操作的详细步骤&#xff1a; 1. 添加Sentinel依赖…

盘点一下近年来常用的电脑监控软件

企业电脑监控软件通常用于监视员工在工作时间内的电脑使用情况&#xff0c;以确保他们的工作效率和安全性。以下是几种常见的企业电脑监控软件&#xff1a; 1、Ping32 Ping32是一款集成多功能的企业级电脑监控软件&#xff0c;包括员工上网行为管理、文件外发审计、屏幕活动监…

TCP(Transmission Control Protocol,传输控制协议)如何保证数据的完整性?

TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;通过一系列机制来保证数据传输的可靠性和无错性&#xff0c;这些机制主要包括&#xff1a; 校验和&#xff1a;TCP报文段包含一个校验和字段&#xff0c;用于检测数据在传输过程中是否出错。…

(41)5.6-5.7数据结构(栈和队列的应用)

1.栈在括号匹配中的应用 #define _CRT_SECURE_NO_WARNINGS #define MaxSize 10 typedef struct { char data[MaxSize];//静态数组存放栈中元素 int top; //栈顶指针 }SqStack;//初始化栈 void InitStack(SqStack& S);//判断栈是否为空 bool StackEmpty(SqStack S…

【刷题】代码随想录算法训练营第三十三天|1005、K次取反后最大化的数组和,134、加油站,135、分发糖果

目录 1005、K次取反后最大化的数组和134、加油站135、分发糖果 1005、K次取反后最大化的数组和 讲解&#xff1a;https://programmercarl.com/1005.K%E6%AC%A1%E5%8F%96%E5%8F%8D%E5%90%8E%E6%9C%80%E5%A4%A7%E5%8C%96%E7%9A%84%E6%95%B0%E7%BB%84%E5%92%8C.html 关键&#xff…

MFC DLL注入失败一些错误总结

使用cheat Engine为MFC窗口程序注入DLL时一定要注意&#xff0c;被注入的exe程序和注入的DLL 的绝对路径中一定不要带有中文字符&#xff0c;否则会遇到各种各样的奇怪错误&#xff0c;如下所示&#xff1a; 以下是dll绝对路径中均含有中文字符&#xff0c;会报错误&#xff…