南大通用GBase 8s SSC集群网络交互信息概述(一)

B站影视 内地电影 2025-05-20 14:58 2

摘要:在当今数据驱动的商业环境中,数据库的性能和可靠性是企业成功的关键。GBase 8s作为一款成熟稳定的国产数据库系统,其SSC集群架构通过优化网络交互,显著提升了性能和可用性。本文将陆续介绍GBase 8s SSC集群的网络交互信息概述和网络吞吐量计算。

在当今数据驱动的商业环境中,数据库的性能和可靠性是企业成功的关键。GBase 8s作为一款成熟稳定的国产数据库系统,其SSC集群架构通过优化网络交互,显著提升了性能和可用性。本文将陆续介绍GBase 8s SSC集群的网络交互信息概述和网络吞吐量计算。

在GBase 8s SSC集群中,主节点向从节点只传输网络心跳、逻辑日志当前位置信息等内容即可,并不需要传输逻辑日志,SSC从节点只需根据主节点的最新LSN号从共享磁盘读取逻辑日志即可,这样减少了网络的信息传递,也减少网络延迟等网络因素对同步性能的影响,因此,在SSC集群中,节点间网络传输相比逻辑日志写入要少很多,网络的传输量并不大,尽可能减少了网络性能对SSC集群性能的影响。

在只有一个从节点的SSC集群情况下,假定TPCC测试在400并发下性能为100万tpmc,主从节点间的网络吞吐量理论最大约为3.5MB/s,SSC主节点发送PPS为16666.7包/s。此场景下忽略了其他主从间其他的消息交互,实际测试场景下,网络吞吐量要高于此理论值。

同时,在SSC从节点支持更新的场景下,假定TPCC中只包含neworder业务并且直接在SSC从节点执行测试,如果TPCC性能达到100万tpmc,则网络吞吐量为248.9 MB/s,SSC从节点发送PPS达到400000包/s。

一、SSC集群架构与工作原理

GBase 8s SSC集群为共享存储集群,允许多个数据库实例同时访问、操作同一数据库,具有高可用、高性能、负责均衡等特性,且支持故障自动切换和故障自动重加入。

1、SSC集群架构

图1 SSC集群架构图

2、SSC集群工作原理

图2 SSC集群工作原理

相比于HAC和RHAC集群,SSC集群并不需要在主从节点间传输逻辑日志文件,主节点只需向从节点发送逻辑日志当前位置信息即可,而SSC从节点可以根据接收到的LSN从共享存储获取,具体的工作原理如下:

(1)主节点完成数据更细,并发送当前LSN (Log Sequence Number)给SSC从节点。

(2) SSC从节点接收到主节点发送的LSN,并从磁盘读取更新的逻辑日志。

(3)SSC从节点重做逻辑日志更新内存中数据。

(4)SSC从节点返回LSN ACK。

除此之外,与其他集群类型类似,SSC集群主节点和从节点之间,需要定时发送心跳信息,以维护集群状态。


二、网络交互的优化

无负载场景

SSC集群在没有业务情况下,主节点每秒通过网络给从节点发送网络心跳,在有业务时,当逻辑日志buffer刷新到磁盘时,主节点向从节点发送当前的LSN。主从间的消息时序图如下:

图3 时序图

心跳包由MACH11_PING和IamAlive类型消息组成,其中MACH11_PING类型消息长度为24字节,IamAlive类型消息长度为16字节。SSC从节点收到心跳包后回复ACK包,包括MACH11_PINGACK和IamAlive类型消息。

在有业务时,主节点发送的数据包由logLPG和MACH11_PING类型消息组成,SSC从节点收到后回复的数据包由logLSN和MACH11_PINGACK类型消息组成,各种消息的长度如下表:

每个数据包的组成如下图

图4 数据包组成图

其中SMX Header的长度为20个字节。

由上可知,在无业务的情况下,各种数据包在网络发送时长度如下:

主节点发送的心跳包的长度为20+24+16=60字节,加上以太网首部、网络IP首部和TCP首部的长度总和至少为54字节(14+20+20),心跳网络包的长度为54+60=114字节;

SSC从节点对心跳的ACK网络包长度为54+16+16=86字节;

在有业务的情况下,各种数据包在网络发送时长度如下:

LSN网络包的长度为54+20+28+24=126字节;

SSC从节点的LSN ACK网络包长度为54+24+16=94字节。

来源:GBASE南大通用

相关推荐