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

热门文章

最新文章

推荐镜像

更多