性能实测:分布式存储 ZBS 与集中式存储 HDS 在 Oracle 数据库场景表现如何

作者:深耕行业的 SmartX 金融团队 金鑫

在金融客户的基础架构环境中,HDS 是一种被广泛使用的存储解决方案。作为集中式存储的代表之一,HDS 拥有高性能、高可用性和可扩展性的企业级存储特点,适用于实时数据处理、虚拟化和灾难备份等场景。

在《分布式存储支持数据仓库业务系统性能验证》文章中,我们对比了 SmartX 分布式存储 ZBS 与全闪集中式存储(EMC PowerStore)执行数仓跑批任务的效率。为了帮助用户了解更多应用场景下 ZBS 与传统集中式存储的性能表现,我们对 ZBS 和 HDS(Hitachi Virtual Storage Platform E590)展开了性能评测,包括基准性能测试和支持 Oracle 数据库的性能测试。结果显示,ZBS(开启 RDMA)在大部分基准测试和 Oracle 场景中,性能和稳定性均优于 HDS 集中式存储。

测试环境

zbs-hds-performance-1.png

  • 准备三台计算节点,一台部署单机 Oracle,另外两台部署 Oracle RAC,采用 Oracle 19c 软件版本。
  • 集中存储测试对象 Hitachi Virtual Storage Platform E590
  • 利用三台 x86 服务器构建 ZBS 分布式存储

测试过程与结果

存储基准性能测试

基准性能测试利用 FIO 工具,分别测试两个环境在存储基准性能、读写延时控制 500us、长时间(12 小时)运行、快照等条件下的性能表现。其中,在存储基准性能测试用例中,分别测试单计算节点(1P1V 和 1P3V)和三计算节点(3P1V 和 3P3V)的性能表现,延时控制和长时间运行场景均基于 3P1V 进行测试,快照场景基于 1P1V 进行测试*。

* P 表示物理机,V 表示卷。1P1V 表示一个物理机挂载一个卷,1P3V 表示一个物理机挂载三个卷,3P1V 表示三个物理机各挂载一个卷,3P3V 表示三个物理机各挂载三个卷。

存储基准-单计算节点测试结果

zbs-hds-performance-2.png

zbs-hds-performance-3.png

zbs-hds-performance-4.png

由于 ZBS 在接入网络层面支持 iSCSI、NVMe over TCP 和 NVMe over RDMA(RoCE v2)三种协议,我们分别开启三种协议进行了测试。可以看到,除了 1P3V – 随机读场景下 HDS 的性能和延迟情况要优于 ZBS,其他场景下 ZBS 开启 RDMA 后的性能均优于 HDS,基于 TCP 和 iSCSI 协议的 ZBS 性能与 HDS 性能水平相当。

存储基准-三计算节点测试结果

zbs-hds-performance-5.png

zbs-hds-performance-6.png

zbs-hds-performance-7.png

在三计算节点配置下,ZBS 开启 RDMA 后性能均优于同一场景下的 HDS 存储。

读写延时控制 500us 测试结果

zbs-hds-performance-8.png

读写延时分别控制在 500us 时,ZBS 开启 RDMA 后性能远超 HDS (几乎翻倍)。

12 小时长时间测试结果

zbs-hds-performance-9.png

通过 12 小时长时间的性能压测(IODepth 2 *32),观察存储性能抖动,从测试结果中的性能曲线和抖动幅度,可以明显观察到,ZBS 性能表现均优于 HDS,表现出更好的性能稳定性。

卷快照后性能测试结果

zbs-hds-performance-10.png

在快照测试中,4k 小块随机写场景下 HDS 与 ZBS 都有一定幅度的性能下降,几分种后恢复到初始性能;256k 大块顺序写场景下,ZBS 性能稳定未受快照事件影响,而 HDS 性能波动较明显。

支持 Oracle 业务性能测试

除了基准性能测试,我们还针对两个环境下 Oracle 数据库性能展开了对比测试,包括单库读写测试、单库 TPCC 测试、RAC 读写测试和 RAC TPCC 测试。

写性能测试

测试场景:

  • 基于券商委托插入脚本模拟压力
  • 50 并发
  • 单并发 150w 数据写入
  • 每 1000 笔提交一次

测试结果:

单库:

zbs-hds-performance-11.png

度量单位:每秒插入数据行数

RAC:

zbs-hds-performance-12.png

度量单位:每秒插入数据行数

读性能测试

测试场景:

  • 使用 CALIBRATE_IO 测试存储过程
  • 1T Datafile
  • 100G Redofile

测试结果:

单库:

zbs-hds-performance-13.png

RAC:

zbs-hds-performance-14.png

TPCC 测试

测试场景:

  • 使用 Swingbench 进行测试
  • 200 并发

测试结果:

单库:

zbs-hds-performance-15.png

RAC:

zbs-hds-performance-16.png

RAC(存储混合负载):

zbs-hds-performance-17.png

总体而言,ZBS(开启 RDMA)环境下 Oracle 数据库性能表现均优于 HDS 集中式存储环境,尤其是在 TPCC 测试中,相比 HDS,ZBS 可提升数据库性能约 30%,充分满足业务性能需求。

总结

整体而言,在存储基准场景和 Oracle 数据库场景下,ZBS 开启 RDMA 的性能和稳定性表现要优于 HDS 集中式存储,ZBS 优化的快照机制也可降低快照创建对性能带来的影响。

欲深入了解 ZBS 架构设计与技术创新,请阅读电子书《分布式存储 ZBS 的自主研发之旅》。

阅读原文:分布式存储与集中式存储(HDS)的性能对比

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云游戏服务器一年费用多少?

阿里云游戏服务器租用价格表:4核16G服务器26元1个月、146元半年,游戏专业服务器8核32G配置90元一个月、271元3个月,阿里云服务器网aliyunfuwuqi.com分享阿里云游戏专用服务器详细配置和精准报价: 阿里云游戏服务器租用价格表 阿…

论文阅读-Transformer-based language models for software vulnerability detection

「分享了一批文献给你,请您通过浏览器打开 https://www.ivysci.com/web/share/biblios/D2xqz52xQJ4RKceFXAFaDU/ 您还可以一键导入到 ivySCI 文献管理软件阅读,并在论文中引用 」 本文主旨:本文提出了一个系统的框架来利用基于Transformer的语…

JavaScript常用技巧专题七

文章目录 一、提炼函数1.1、好处1.2、示例 二、合并重复的条件片段三、把条件分支语句提炼成函数四、合理使用循环五、提前让函数退出代替嵌套条件分支六、传递对象参数代替过长的参数列表七、少用三目运算符八、合理使用链式调用8.1、优点8.2、缺点 九、纯函数9.1、不属于纯函…

2-2 动手学深度学习v2-损失函数-笔记

损失函数,用来衡量预测值和真实值之间的区别。是机器学习里面一个非常重要的概念。 三个常用的损失函数 L2 loss、L1 loss、Huber’s Robust loss 均方损失 L2 Loss l ( y , y ′ ) 1 2 ( y − y ′ ) 2 l(y,y^{\prime})\frac{1}{2}(y-y^{\prime})^{2} l(y,y′)21…

火山引擎ByteHouse:如何为OLAP设计高性能向量检索能力?

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 背景 随着 LLM 技术应用及落地,数据库需要提高向量分析以及 AI 支持能力,向量数据库及向量检索等能力“异军突起”,迎来业界持续…

第七届西湖论剑·中国杭州网络安全技能大赛 AI 回声海螺 WP

第七届西湖论剑中国杭州网络安全技能大赛-AI-回声海螺 开题,提示输入密码给FLAG。 这个回声海螺应该是个AI,就是复读机,应该是想办法从中骗出密码。 感觉这题不像是AI,也没用啥模型,应该是WEB。或者是说类似于AI的提示…

第八讲:详解第1套真题

第八讲:详解第1套真题 基本编程题【15 分】简单应用题【25 分】综合应用题【20 分】**问题一**【5分】问题二【5 分】问题二【10 分】小结基本编程题【15 分】 考生文件夹下存在一个文件 PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:【5 分】键盘输入正整数 n…

【从0上手Cornerstone3D】如何使用CornerstoneTools中的工具之同步器

同步器(Synchronizers)可以使多个视图同步响应同一个工具的操作,例如我们在MPR视图下,同步操作三个视图的缩放程度、windowLevel等等 一个同步器必须需要以下几个部分才可以执行 一个监听事件(什么情况下触发同步&…

【日志记录】——单片机可执行文件合并

一:需求场景 现在有一片单片机,执行程序包括自定义boot和应用程序app, 在将打包好的固件给到生产时有以下问题,由于要通过jlink烧录boot,然后上电启动boot,通过boot烧录初始化程序,过程过于复杂&#xff0…

蓝桥杯省赛无忧 课件125 线段树-标记永久化

前置知识 线段树 01 什么是标记永久化 02 如何标记永久化 03 标记永久化的优势

【GAMES101】Lecture 17 材质

目录 材质 漫反射 镜面反射 折射-Snell’s Law Fresnel Reflection / Term(菲涅耳项) 微表面模型 各向同性与各向异性 BRDF的性质 测量BRDF 材质 渲染方程中的BRDF描述了物体是如何与光线作用的,而物体的材质决定了它看起来是怎么样…

「深度学习」门控循环单元GRU

一、梯度消失问题 梯度消失&#xff1a; 基础的 RNN 模型不善于处理长期依赖关系&#xff0c;有很多局部影响&#xff0c;很难调整自己前面的计算。y^{<i>} 仅仅受自己附近的值影响。 解决方法&#xff1a;GRU 或 LSTM 梯度爆炸&#xff1a; 反向传播时&#xff0c;随着…

基于A-Star搜索算法的迷宫小游戏的设计

这篇文章是作者人工智能导论课的大作业&#xff0c;发出来供大家学习参考&#xff08;有完整代码&#xff09;。想要论文WORD文件的可以在本文资源处下载&#xff08;可能还在审核&#xff09;。 摘要&#xff1a; 本文章聚焦于基于A-Star搜索算法的迷宫小游戏设计&#xff0c;…

[设计模式Java实现附plantuml源码~结构型]实现对象的复用——享元模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…

前端基础复习(后端人员看前端知识)

企业级前端项目开发中&#xff0c;需要将前端开发所需要的工具、技术、流程、经验进行规范化和标准化&#xff0c;而不是零散的html、js、css文件堆叠在一起。 首先我们需配置前端的开发基础环境NodeJS&#xff0c;相当于后端人员java开发的JDK。然后搭建前端工程脚手架Vue-cl…

SQL Server数据库日志查看若已满需要清理的三种解决方案

首先查看获取实例中每个数据库日志文件大小及使用情况&#xff0c;根据数据库日志占用百分比来清理 DBCC SQLPERF(LOGSPACE) 第一种解决方案&#xff1a; 在数据库上点击右键 → 选择 属性 → 选择 文件&#xff0c;然后增加数据库日志文件的文件大小。 第二种解决方案 手动…

Linux 系统开启网络服务

首先&#xff0c;大家新装的linux系统可能都没有安装vim工具&#xff0c;所以打开文件的方式是 vi /etc/sysconfig/network-scripts/ifcfg-ens33在这个界面把onboot改为yes&#xff0c;我这里是设置完的。然后通过下面语句重新启动服务就可以了。 service network restartcen…

Aigtek高压功率放大器驱动容性负载有哪些

高压功率放大器在驱动容性负载时&#xff0c;需要考虑与该负载的匹配和适应。以下是几种常见的容性负载类型&#xff0c;以及高压功率放大器在驱动这些负载时的方法和技术&#xff1a; 声音系统&#xff1a;高压功率放大器常用于驱动音箱和扬声器等声音系统中的容性负载。对于音…

python进行批量搜索匹配替换文本文字的matlab操作实例

在进行一些数据处理时&#xff0c;可能需要抓取原文中的一些内容&#xff0c;批量替换原文另外的一些内容&#xff0c;而且事先还需要一步搜索匹配的步骤。 举个例子&#xff0c;如下matlab输出的txt文件&#xff0c;原文件有几万行数据&#xff0c;这里只摘取3行对应的 文件文…

分享71个节日PPT,总有一款适合您

分享71个节日PPT&#xff0c;总有一款适合您 71个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1v4_fHplsf_hOJQbNPVUudg?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…