温故知新:ScaleIO Oracle性能测试解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: SLOB、ORION和FIO这些测试工具有何异同?

SLOBOrionFIO这些测试工具有何异同?

 

近日看到某分布式存储软件/ServerSAN宣称“提供单节点可达100,000 IOPS的优越性能单节点可达1.6GB/s带宽”,粗略感觉还算可以吧,当然稳定性可靠性比这个更重要。

 

而从性能上来看,ScaleIO在三年前就轻松跑到比它高。上一篇《为什么ScaleIOvSAN不要求三副本?》我们讨论的主要是可靠性方面的设计,今天再带大家解读另一份性能测试报告。

 

引用自ESG报告《TransformingCommodity Hardware into Simple, Scalable, High-performance, Shared Storage》,20144

 

上图是测试环境:8节点的ScaleIO超融合集群上运行Oracle 12cRAC数据库,当时的ScaleIO软件版本还是1.2。我看到上周的会议上发布了最新的3.0版本,《Dell EMC World 2017(1)25GEFC多协议交换机和SC5020》一文中可以看到有张图。

 

当年测试用的还是思科服务器,ScaleIO之前对硬件没有特殊要求,标准化服务器理论上就可以。具体的配置包括每台服务器128GB内存、1块系统盘、1700GB PCIe闪存卡、6960GB SATA SSD和双口40Gb InfiniBand HCA

 

所有节点上的SATA SSDPCIe闪存创建两个ScaleIO存储池,实现了一个固定分层存储,应该是分别放置Oracle数据库表和Redo日志。

 

现在情况有了一些变化,我觉得不只是因为Dell EMC合并对VCE产生的影响,还有一个因素——思科也投资了超融合软件厂商并在推自己的方案。我们看到ScaleIO 3.0的新特性中包括增强对NVMe SSDNVDIMM的支持,这些在基于Dell下一代PowerEdge14G服务器R740xdR640ScaleIO Ready Node上都有体现。

 

1OLTP查询8KB 随机IOPS89

 

引用自EMC ScaleIO白皮书《High-PerformanceConverged Infrastructure for Oracle Database Deployments》,3年前测试结果不代表现在产品的水平,仅供参考。

 

上图是Oracle Enterprise Manager在随机IOPS测试过程中一小时的监控,期间运行了SLOBSilly Little Oracle Benchmark kit)。ESG报告中的8节点ScaleIO/OracleRAC环境,100% 8KBSLOB SQL Query(查询)生成IOPS838,332EMC在另一份白皮书里对测试参数做了点调整,跑到893,116 IOPS,如下图。

 


ScaleIODashboard界面中,还可以看到此时的带宽是6.8GB/s。平均每节点10IOPS出头还不是ScaleIO的最大能力,这一点与压测工具有关,如果换用fio可以跑到更高(下文中会列出相关数字),我认为Orion也是如此。具体原因下面会讨论。

 

2Update操作产生的读写I/O和数据量比例

 


继续进行75% Select / 25% Update测试,此时SLOB SQL产生的存储负载为565,522 IOPS。而我看到读/写带宽和IOPS的比例似乎不同,从下面的OracleEnterprise Manager监控结果也可以验证这一点。

 


其中Update操作产生的是一个读//写操作,DBWR监测到的磁盘活动为随机读I/O 85%、随机写15%左右,而写入的数据量/带宽所占比例则占到了23%。从这一点来说,SLOB生成的负载是与FIOOrion这样不依赖数据库而直接测试的工具有所不同。

 

3OLAP并发表扫描:4节点11GB/s8节点21GB/s

 

OLAP测试的数据仓库模型,加载了一个300GB TPC-H Lineitem表,数据由另一个工具DBGEN生成。

 


由于目的是测试在应用中的存储吞吐带宽,这里的操作是表扫描Oracle Database 12c Enterprise Manager中可以看到4节点集群Parallel Query测试的读性能达到了11.09GB/s,平均每节点贡献2.77GB/s

 

上面是sqlplus执行测试和结果显示的截图

 


当测试的集群节点增加到8个,我们看到OLAP类并发表扫描的速度提升到21.2GB/sScaleIO集群性能基本上能随节点数线性增长。这个结果与我们在《为什么ScaleIOvSAN不要求三副本?》里列出的一个趋势图相符,该文中还提到ScaleIO平均每节点可以贡献20IOPS。下面我们再看下三年前ESG报告中的另一份数据。

 

4FIO测试结果:53节点850IOPS

 


在一个53节点的QA环境中,每台服务器配置双万兆网口和1700GB PCIe闪存卡。使用fio测试工具获得8504KB随机读IOPS3704KB随机写IOPS114GB/s 64KB随机读带宽的表现。平均每节点随机读IOPS可达16万、随机写IOPS接近7

 

关于另外一个测试工具Orion,我在《全闪存阵列的测试与选型参考》和《16Gb FC实测带宽几何、四端口HBA呢?》分别列出过其OLTPOLAP的测试结果,通常使用8KB随机IO或者1MB顺序IO。本文中先不做更多讨论了。

 

5、节点离线测试:RebuildRebalance的影响

 


最后再分享点可能对大家有用的——“拔节点”测试。我们看到当8个节点剩下6个时IOPS下降幅度正好在25%的水平,而恢复为8节点健康状况后性能复原。

 


上图展示的好像是一个3节点集群,具体配置未知。根据我的理解,这套ScaleIO集群Rebuild数据的速度可达1.1GB/s,此时IOPS11万最多下降到4万。我在上一篇中就提到ScaleIO双副本的可靠性,一方面靠保护域来限制故障影响的盘和节点范围;另一方面就是靠高效率的重构,包括只Rebuild已用数据块和速度表现。而节点恢复上线或者扩容时数据Rebalance的速度不需要有那么高,从绿色曲线也能看出其优先级要低一些,对业务性能的影响也小很多

 

最后再次声明,3年前测试结果不代表最新版本ScaleIO 3.0的水平,仅供参考。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
2天前
|
测试技术 API 开发者
精通.NET单元测试:MSTest、xUnit、NUnit全面解析
【10月更文挑战第15天】本文介绍了.NET生态系统中最流行的三种单元测试框架:MSTest、xUnit和NUnit。通过示例代码展示了每种框架的基本用法和特点,帮助开发者根据项目需求和个人偏好选择合适的测试工具。
9 3
|
15天前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。
|
16天前
|
Web App开发 安全 测试技术
软件测试的艺术:从代码审查到用户验收的全方位解析
【10月更文挑战第1天】本文旨在深入探讨软件测试的精髓,通过分析不同类型的测试方法—单元测试、集成测试、系统测试、性能测试和用户接受度测试,揭示其在软件开发生命周期中的重要性。我们将通过具体案例,展示如何运用这些测试技术来发现并修复关键缺陷,提高产品质量。同时,文章还将提供一系列最佳实践,帮助读者建立有效的测试策略,确保软件项目的成功交付。通过阅读本文,您将获得一套全面的软件测试知识体系,以及如何在实际应用中灵活运用这些知识,以提升软件开发的整体质量和效率。
45 2
ly~
|
17天前
|
域名解析 网络协议 Linux
如何测试 DNS 记录中的反向代理服务器是否生效?
本文介绍了三种测试反向代理服务器配置的方法。首先,通过命令行工具如 `ping`、`nslookup` 和 `dig` 检查域名解析是否指向正确的 IP 地址。其次,利用 Web 浏览器访问域名,验证页面加载正常且请求头信息无误。最后,借助网络抓包工具如 `Wireshark` 和 `tcpdump` 分析数据包,确保请求正确转发并返回预期响应。
ly~
32 2
|
21天前
|
机器学习/深度学习 存储 监控
深入解析软件测试中的自动化测试技术
本文旨在全面探讨软件测试中的自动化测试技术。通过对自动化测试的定义、优势、常见工具和实施步骤的详细阐述,帮助读者更好地理解和应用自动化测试。同时,本文还将讨论自动化测试的局限性及未来发展趋势,为软件测试人员提供有益的参考。
43 6
|
20天前
|
Java 测试技术 持续交付
软件测试的艺术:从代码审查到用户体验的全方位解析
在当今数字化时代,软件已成为我们生活中不可或缺的一部分。无论是社交媒体、在线购物还是移动支付,背后都离不开软件的支持。然而,随着软件功能的日益复杂和用户需求的不断提高,软件测试的重要性也愈发凸显。本文将探讨软件测试的各个方面,从代码审查到用户体验,全面解析如何确保软件质量,为用户提供更好的使用体验。
39 1
|
26天前
|
安全 测试技术 UED
软件测试的艺术:从代码审查到用户体验的全方位解析
在软件开发的宇宙中,测试是那颗最耀眼的星辰。它不仅仅是一种技术活动,更是一门艺术。本文将带你领略这门艺术的魅力,从细微的代码审查到宏大的用户体验设计,揭示软件测试如何塑造出更加完美的数字世界。
40 4
|
1月前
|
机器学习/深度学习 人工智能 算法
软件测试的艺术:从代码审查到用户体验的全方位解析
在软件开发过程中,一个经常被低估的环节就是软件测试。许多人认为测试仅仅是“点击几下鼠标,看看是否有错误”。然而,真正的软件测试是一门集技术深度、策略规划和细致观察于一体的艺术。它不仅关系到产品的质量和稳定性,更直接影响到最终用户的满意度。本文将从多个角度深入探讨软件测试的重要性、方法和最佳实践,帮助你理解为什么说软件测试是一种艺术。
|
1月前
|
设计模式 人工智能 算法
PHP中的设计模式:策略模式的深入解析与实践软件测试中的人工智能革命:提升效率与准确性的新篇章
在PHP开发中,理解并运用设计模式是提升代码质量和可维护性的重要途径。本文聚焦于策略模式(Strategy Pattern),一种行为型设计模式,它允许在运行时选择算法或业务规则。通过本文,我们将深入探讨策略模式的定义、结构、使用场景以及如何在PHP项目中有效地实现和利用策略模式。不同于性能优化等技术性摘要,本文着重于提供对策略模式全面而实用的理解,助力开发者编写出更加灵活和可扩展的应用程序。 本文深入探讨了人工智能在软件测试领域的应用,揭示了其如何显著提高测试过程的效率和准确性。通过实际案例分析,展示了AI技术在自动化测试、缺陷检测及结果分析中的关键作用,并讨论了实施AI测试策略时面临的挑
20 3
|
1月前
|
敏捷开发 安全 测试技术
软件测试的艺术:从代码到用户体验的全方位解析
本文将深入探讨软件测试的重要性和实施策略,通过分析不同类型的测试方法和工具,展示如何有效地提升软件质量和用户满意度。我们将从单元测试、集成测试到性能测试等多个角度出发,详细解释每种测试方法的实施步骤和最佳实践。此外,文章还将讨论如何通过持续集成和自动化测试来优化测试流程,以及如何建立有效的测试团队来应对快速变化的市场需求。通过实际案例的分析,本文旨在为读者提供一套系统而实用的软件测试策略,帮助读者在软件开发过程中做出更明智的决策。

推荐镜像

更多