RDMA在数据库上的应用 尹海文 OracleACEPro PGACEPartner PolarDB开源社区技术顾问/HaloDB外聘技术顾问 CONTENTS 01.什么是RDMA 高吞吐低延迟 02.RDMA的应用 OracleExadata上的RDMAPolarDB企业版的RDMA 03.RDMA应用难点与基础测试 数据块利用RDMASoft-RoCE测试 什么是RDMA 高吞吐低延迟 COPY COPY COPY 内存数据 应用/数据库 套接字 OS内核 OS内核 C TCP/IPP U 驱动 内存数据 应用/数据库 套接字 TCP/IP 驱动 COPY COPY COPY 网卡网卡 RDMA,RemoteDirectMemoryAccess,可译作远程直接内存访问,是一种不经由操作系统从一台计算机到另一台计算机直接访问内存的技术。由于无需经过操作系统内核对网络包进行封装,可以节省大量CPU资源占用,同时也提供了高吞吐、低延迟网络,尤其适用于大规模并行计算机集群。 RDMA支持网络适配器直接通过网线将数据传输至应用内 存或从应用内存直接传输至网线的零拷贝(Zero-copy)网络传输。这种传不再需要应用程序内存和操作系统数据缓存的数据复制拷贝操作。这种传输不需要CPU、缓存或 上下文交换参与,并且传输可以与其他系统操作并行执行。 内存数据 应用/数据库 内存数据 应用/数据库 OS内核 ZERO-COPY CZERO- OS内核 PCOPY U 网卡网卡 RDMA的应用 OracleExadata上的RDMAPolarDB企业版的RDMA DatabaseServer StorageServer RDMA N IC N IC PMEM/XRMEM FlashCache IB/RoCE Switch IB/RoCE Switch HDD DatabaseInstance ASM N IC DatabaseServer DatabaseInstance S DBCache G A DatabaseServer RDMA S GA N IC IB/RoCE Switch IB/RoCE Switch DBCache DatabaseInstance RDMA应用难点与基础测试 数据块利用RDMASoft-RoCE测试 Memory RDMA DB Instance N IC Replication IB/RoCE Switch IB/RoCE Switch Fusion DB Block Transfer RoCE,RDMAoverConvergedEthernet,以太网融合RDMA。 Soft-RoCE,简称RXE,就是通过软件实现RoCE,模拟RDMA环境。本次测试基于VMwareWorkstationPro17.5.0。对比使用基于TCP/IP的iSCSI测试对比针对数据库8K块的IOPS与IOMBPS。 角色 操作系统 vCPU 内存 存储磁盘 客户机 OracleLinux8.9 2 2GB - 存储机 OracleLinux8.9 2 8GB 10GB 文件 项目 JOB iSCSITCP/IP Soft-RoCE 趋势 IOPS MB/s IOPS MB/s IOPS MB/s 512MB 顺序写 4 22400 184 8450 69.2 -62.28% -62.39% 顺序读 5186 42.5 6954 56 34.09% 31.76% 随机写 6403 52.5 8621 70.6 34.64% 34.48% 随机读 5301 43.4 6708 54 26.54% 24.42% 文件 项目 JOB iSCSITCP/IP Soft-RoCE 趋势 IOPS MB/s IOPS MB/s IOPS MB/s 2GB 顺序写 1 13400 110 8457 69.3 -36.89% -37.00% 2 21000 180 8606 70.5 -59.02% -60.83% 4 32000 263 8592 70.4 -73.15% -73.23% 6 37800 309 8592 70.4 -77.27% -77.22% 8 37800 310 8514 69.8 -77.48% -77.48% 顺序读 1 8439 69.1 7132 58.4 -15.49% -15.48% 2 9957 81.6 7096 58.1 -28.73% -28.80% 4 12400 101 7075 57 -42.94% -43.56% 6 13300 109 7179 58.8 -46.02% -46.06% 8 14100 115 7076 57 -49.82% -50.43% 随机写 1 7667 62.8 7132 58.4 -6.98% -7.01% 2 8326 68.2 7469 61.2 -10.29% -10.26% 4 7459 61.1 8607 70.5 15.39% 15.38% 6 7554 61.8 8597 70.3 13.81% 13.75% 8 7414 60.7 8591 70.4 15.88% 15.98% 随机读 1 5543 45.4 6825 55.9 23.13% 23.13% 2 5545 45.4 6934 56.8 25.05% 25.11% 4 5527 45.3 6922 56.7 25.24% 25.17% 6 5407 44.3 7076 57 30.87% 28.67% 8 5626 46.1 7039 57.7 25.12% 25.16% THANKS Speakernameandtitlewww.postgresqlchina.com