云计算、大数据、人工智能、5G等新一代信息技术快速发展,数据的爆炸式增长对基础架构的需求不断提高,与此同时,所有的企业都有这样一个共识,在数字经济快速稳定发展背景下,云计算成为企业数字化转型的基石,越来越多的企业将云计算加入到业务中来,从而达到高效率、低成本的运营机会。云最早是从 IaaS 做起来的,从虚拟机、存储、网络,到现在如火如荼的语音识别、计算机视觉以及机器人等智能化应用,都是基于 IaaS 的,而数据库就是连接 IaaS 与智能化应用 SaaS 最为关键的一环。从数据产生、存储到消费的各个环节,数据库系统都至关重要。随着数字化转型的不断深入,整个社会加速向数字化、网络化、智能化方向发展,由此带来的海量数据以及数据的承载管理平台(数据库系统- RDBMS)对存储提出了新的要求。传统存储虽有技术成熟、性能良好、可用性高等优点,但面对海量数据,却在性能、可扩展性、成本等方面存在明显不足,分布式存储技术从出现开始就吸引了众多企业的关注,成为存储产业发展的重要方向。分布式存储技术的发展历程具有“迎合应用需求”和“技术创新突破”的特点,随技术的演变而迅速发展,总体呈现高性能、易于扩展以及智能化等优势。
为帮助企业打造更稳定、高效、可靠的数据库存储方案,引领存储系统架构的变革,由ExponTech(华瑞指数云)联合北京海天起点技术服务股份有限公司(以下简称“海天起点”)联合完成了 “Oracle数据库集群应用与华瑞自主研发新一代分布式存储WDS(WiDE Hyper-IO Disk Storage)的联合测试”
北京海天起点技术服务有限公司是中国领先的IT服务提供商,为全国范围的客户提供高品质的IT服务以及创造服务价值!海天主要面向中国大中型行业用户,提供包括IT基础架构软硬件一站式技术支持服务、软硬件一体机化的数据库平台解决方案、应用性能管理(APM)、客户体验管理、数据库容灾、商业智能和云计算等解决方案。海天致力于保障用户IT系统的稳定、高效和安全,并最终提升IT系统的价值。

该联合测试使用华瑞指数云自主研发的下一代分布式存储WDS作为Oracle 集群应用的核心存储设备。测试表明,WDS这样的下一代SDS存储软件,在普通服务器硬件上搭建分布式存储集群,可以完美适配Oracle数据库系统,在把数据库系统性能发挥到极致的同时,还具备优秀的,生产级的可靠性。

通过对此次测试内容分享,为核心数据库系统在当下企业数字化转型过程中如何选择底层分布式存储产品提供了全新的技术视角,让我们一起走进此次测试,深入解读关键测试指标。

(测试拓扑结构图)
测试硬件配置
组件 |
类型 |
硬件详细配置 |
数量 |
计算节点 |
H3C服务器 |
CPU: Intel(R)Xeon(R) Gold 5318Y CPU@2.10GHz*2 |
2 |
内存:256G |
|||
100Gb网卡 |
NIC-ETH-MCX623106AN-CDAT-2P |
2 |
|
100Gb线缆 |
100Gb |
4 |
|
高速网络 |
以太网交换机,RoCE |
100Gb,36 port |
2 |
存储节点 |
H3C服务器 |
CPU:Intel(R) Xeon(R) Gold 5318Y CPU@2.10GHz*2 |
3 |
内存:128GB |
|||
NVMe SSD: DAPUSTOR DPXD3101T0S100T4000 400GB*6 |
|||
100Gb网卡 |
100Gb 双口 |
3 |
|
100Gb线缆 |
100Gb |
6 |
测试软件配置
操作系统:Red Hat Enterprise Linux 7.9
数据库和集群组件:Oracle Database 19.16; Oracle-Grid-Infrastructure19.16
测试工具
Swingbench:Oracle开发的图形化的性能测试工具。这个工具可以模拟一个基准程序,并发地对数据库发出交易(transaction)请求,通过单位时间内完成的交易数,来衡量系统的性能。此工具对于基准程序和并发量,可以灵活定制。
FIO:测试磁盘性能的非常好的工具,用来对磁盘进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。
CALIBRATE_IO:Oracle数据库自带的IO能力测试工具。
视角一:极致的性能体验
1、通过性能压测软件FIO、Calibrate_IO围绕WDS存储的性能进行测试,在Oracle数据库应用环境中,基于客户现有的生产环境可以把运行在WDS分布式存储的Oracle数据库性能发挥到极致,远远优于其他分布式存储产品,也优于配置相同数量的同型号SSD盘的全闪阵列
Calibrate_IO 双节点压力测试 |
IOPS | 时延 | 最大带宽 |
| 8K DB Block |
450万IOPS | 0.02ms | 34GB/s |
Calibrate_IO测试结果以及方法和步骤
在数据库中执行如下操作,测试IO性能。
使用SQL/Plus登录数据库,运行下列语句:
SET SERVEROUTPUT ON
DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
--DBMS_RESOURCE_MANAGER.CALIBRATE_IO(<NUM_DISKS>, <MAX_LATENCY>, iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (45, 10, iops, mbps, lat);
DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);
dbms_output.put_line('max_mbps = ' || mbps);
end;
/

FIO测试结果以及方法和步骤
FIO 单节点压力测试 |
最大带宽 | IOPS |
4K随机读 |
12.7GB/s | 332万IOPS |
| 8K随机读 | 17.4GB/s | 228万IOPS |
计算单节点-FIO测试脚本
4k随机读
|
[global]
rw=randread
bs=4k
numjobs=8
iodepth=32
ioengine=libaio
direct=1
runtime=60
time_based
group_reporting
[task1]
filename=/dev/oracleasm/disks/data01
[task2]
filename=/dev/oracleasm/disks/data02
[task3]
filename=/dev/oracleasm/disks/data03
[task4]
filename=/dev/oracleasm/disks/data04
[task5]
filename=/dev/oracleasm/disks/data05
[task6]
filename=/dev/oracleasm/disks/data06
|

8k随机读
|
[global]
rw=randread
bs=8k
numjobs=8
iodepth=32
ioengine=libaio
direct=1
runtime=60
time_based
group_reporting
[task1]
filename=/dev/oracleasm/disks/data01
[task2]
filename=/dev/oracleasm/disks/data02
[task3]
filename=/dev/oracleasm/disks/data03
[task4]
filename=/dev/oracleasm/disks/data04
[task5]
filename=/dev/oracleasm/disks/data05
[task6]
filename=/dev/oracleasm/disks/data06
|

备注:作为对比参考,市场主流分布式块存储产品,3节点全闪配置的集群,IOPS<50万IOPS,中端全闪阵列产品,IOPS在100~300万左右
2、通过Swingbench模拟400用户并发访问,测试以WDS为核心数据库存储并且搭配具有极高性价比的两个计算节点的组合,验证整个数据库系统的性能表现(TPM和TPS的值),TPS值接近3万,远优于其他分布式存储平台

| 并发量 | TPM | TPS |
| 400并发 | 158.5万 | 2.95万 |
备注:作为对比参考,市场主流分布式块存储产品+Oracle,实测TPS在5000左右
3、通过创建包含大的数据文件的表空间对基于WDS分布式平台的数据库系统的数据载入能力进行进一步测试,测试结果能达到惊人的8.6GB/s,远胜于其他分布式存储平台以及全闪阵列
| 序号 | 语句 | 消耗时间 | 备注 |
| 1 | create tablespace test1 datafile'+DATA'size30G | 14.38s | +DATA normal 冗余 |
| 2 | create tablespace test2 datafile'+DATA'size30G | 14.29s | +DATA normal 冗余 |

备注:ASM是Normal模式是2副本的方式,WDS存储也做了双副本的冗余,30GB的数据相当于写了4份总共120GB,在14.29秒完成
视角二:生产级的可靠性,支撑企业核心应用平稳运行
1、 WDS在一个存储节点意外宕机的情况下,能够确保对业务没有影响,数据库系统所有服务均能正常工作,所有数据信息均完整在线。
在计算节点WDS02上用Swingbech开启400并发访问进行压测。
在压测过程中,手工强行关闭一个存储节点WDS-01 (ip address:10.1.100.224),并且在计算节点WDS02上用Ping命令确认WDS-01是不可访问

观察Swingbench图形界面TPS和TPM的压测值,没有发现任何中断,说明在有存储节点意外宕机的故障场景下,WDS存储集群具备故障容错能力,保障数据库继续对外提供稳定的服务。

检查Oracle ASM的实例和相关服务的状态,均为正常工作状态。

最后检查OCR和数据的状态,均为online在线的正常状态。

2.任意一个WDS存储节点上的Oracle OCR的丢失,不会影响Oracle数据库系统正常运行
选一个计算节点WDS01,切换到grid用户
执行 sqlplus/ as sysasm
把WDS01上的OCR文件模拟下线:alter diskgroup OCR offline disk OCR_0000;
检查数据库状态,无任何异常可以正常对外提供服务

备注:Oracle集群中的OCR非常重要,OCR就好比Windows的一个注册表(对于windows来说注册表存储的是所有的软件对应用户和相关的配置信息),存储了所有与集群,RAC数据库相关的配置信息。并且这种配置信息都是公用的交由多个节点进行共享。所以OCR会存放在共享分布式存储中
OCR包含的内容
节点成员信息
数据库实例,节点,以及其他映射关系
资源配置信息
ASM信息
Oracle集群中相关进程的信息
总结
企业IT基础架构向云化架构演进和发展是一个大趋势,但是在这个大趋势中也有一些重大挑战需要解决,比如说企业的传统应用在使用云化的基础架构时,似乎就存在如下的不可能三角:
高吞吐,高并发
高IOPS, 低时延
强一致性,高可靠性
对于云化架构来说,可以水平扩展,弹性伸缩的分布式架构是天然之选,分布式架构的水平扩展能力决定了其在高吞吐高并发的业务场景有明显优势,这也是为什么网站类应用,互联网类应用最先采用云计算的原因之一。另一方面,分布式架构的存储方案,由于其IO路径长,需要跨网络处理IO,一般认为其无法提供高IOPS和低时延的存储读写能力,尤其是无法支撑在单一计算节点上要求高性能和低时延的传统数据库类应用。分布式环境上的强一致性、高可靠性和高IOPS、低时延是另外一对矛盾体,有一些分布式系统架构以牺牲强一致性为代价(只保证最终一致性),来获得更高的写入性能和更低的时延。
华瑞指数云WDS作为新一代分布式存储软件打破了这样的不可能三角,基于普通服务器构建分布式存储底座,可以实现#1高吞吐、高并发 #2高IOPS、低时延 #3强一致性、高可靠性的兼得。本次测试也证明了,WDS从兼容性、极致性能、低时延和生产级可靠性等许多个维度,都可以很好的支撑Oracle RAC这样的重载企业级数据库的运行,为传统企业核心应用上云打开了新的思路,提供了新的产品架构方案。华瑞指数云WDS与虚拟化云平台,容器云平台都可以实现无缝对接,为云平台提供一个全功能的存储平台底座,把传统企业IT应用部署到全分布式架构的云平台,云原生环境上去运行是完全可行的,性能和可靠性都可以得到保障。
华瑞指数云:全自研信创存储解决方案,让国产不再是替代


