“G”术时刻 |南大通用GBase 8s SSC集群架构网络交互信息概述和吞吐量计算(之三)

62 阅读2分钟

在上篇文章中,我们了解了GBase 8s SSC集群的网络交互机制。本文将聚焦于网络吞吐量的计算,分析SSC集群在不同业务场景下的表现,并与HAC和RHAC集群进行对比。 一、无业务场景下的网络吞吐量

在无业务时,网络上只有每秒发送的心跳包和心跳包的ACK,则网络吞吐量极低,具体为:

(114+86)/(1024*1024)=0.2KB/s

主节点的发送PPS为1包/s。

二、有业务场景下的网络吞吐量

假定在高性能服务器、400并发的情况下,TPCC的性能为100万tpmc,此时网络上传输的包为LSN数据包和LSN ACK数据包。

如果数据库在非缓冲日志模式下,每次事务提交时,则主节点发送LSN数据包,从节点收到后回复LSN ACK数据包,因此网络吞吐量为:

(126+94)1000000/60)/(10241024)=3.5MB/s

主节点的发送PPS为:

1000000/60=16666.7

如果数据库在缓冲日志模式下,假定逻辑日志buffer为最大值64M,当逻辑日志buffer满后,主节点才发送LSN数据包,在之前的测试时得知在tpcc测试时,每1万tpmc产生约200M逻辑日志,在性能为100万tpmc的情况下,产生的逻辑日志为100*200=20000M,此时网络吞吐量为:

(20000/64)*(126+94) /60/1024=1.12KB/s

主节点的发送PPS为:

(20000/64)/60=5.2包/s

以上计算的场景为理想情况,而在实际的测试环境中,在网络上还会传输其他消息,如每5s的统计数据包,同时有多种情况如checkpoint同样会触发逻辑日志buffer刷新到磁盘,同样会触发主节点向从节点发送LSN,除了这两类还有其他的消息进行通信。同时,以上都是以只有一个SSC从节点为前提的,如果有N个SSC从节点,则是上述计算值的N倍。

而相比与SSC集群,HAC和RHAC集群在相同的业务场景下至少要传输200*100M的逻辑日志,则网络吞吐量至少为:

(200*100)/60=333.33MB/s