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

原文链接:
https://www.gbase.cn/community/post/4044
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

在上篇文章中,我们了解了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)/(1024*1024)=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

三、SSC从节点支持更新操作的场景分析

在SSC从节点支持更新操作的场景下,TPCC业务在SSC从节点执行,而TPCC在测试中只包含neworder业务,neworder业务涉及的表以及表典型字段长度如下:

表名称

典型字段长度

District

95

Order

24

New-Order

8

Stock

306

Order-Line

54

涉及的操作如下:

UPDATE District 
INSERT Order
INSERT New-Order
for( int i=0;i<num;i++) 
{
    UPDATE Stock
    INSERT Order-Line
}

neworder业务平均每个客户的一个订单有10个订单项,即num值为10。假设num=1时,neworder每个事务主从间网络交互包如下:

第1组网络包信息如下:

  • SSC从节点发送给主节点,网络包包含的消息类型为ProxyWriteBeginWork、ProxyWriteUpate和ProxyWriteSync三类消息类型,涉及的表为District,因此网络报长度为54+20+176+(108+95*2+4)+28=580字节。
  • 主节点的回复网络包由ProxyWriteSync类型消息组成,此包的长度为54+20+68=142字节。

第2组网络包信息如下:

  • SSC从节点发送给主节点,网络包包含的消息类型为ProxyWriteInsert和ProxyWriteSync两类消息类型,涉及的表为Order,因此网络报长度为54+20+(108+24+4-2)+28=236字节。
  • 主节点的回复网络包由ProxyWriteSync类型消息组成,此包的长度为54+20+68=142字节。

第3组网络包信息如下:

  • SSC从节点发送给主节点,网络包包含的消息类型为ProxyWriteInsert和ProxyWriteSync两类消息类型,涉及的表为New-Order,因此网络报长度为54+20+ (108+8+4-2)+28=220字节。
  • 主节点的回复网络包由ProxyWriteSync类型消息组成,此包的长度为54+20+68=142字节。

第4组网络包信息如下:

  • SSC从节点发送给主节点,网络包包含的消息类型为ProxyWriteUpate和ProxyWriteSync两类消息类型,涉及的表为Stock,因此网络报长度为54+20+(108+306*2+4-2)+28=824字节。
  • 主节点的回复网络包由ProxyWriteSync类型消息组成,此包的长度为54+20+68=142字节。

第5组网络包信息如下:

  • SSC从节点发送给主节点,网络包包含的消息类型为ProxyWriteInsert和ProxyWriteSync两类消息类型,涉及的表为Order-Line,因此网络报长度为54+20+ (108+54+4-2)+28=266字节。
  • 主节点的回复网络包由ProxyWriteSync类型消息组成,此包的长度为54+20+68=142字节。

第6组网络包信息如下:

  • SSC从节点发送给主节点的网络包由ProxyWriteBeginWork、ProxyWriteFlush2LSN和ProxyWriteCommit三类消息组成,此包的长度为54+20+176+36+28=314字节。
  • 主节点的回复网络包由ProxyWriteSync类型消息组成,此包的长度为54+20+68=142字节。

当num大于1时,只需要第4组和第5组重复num次即可,因此,在TPCC测试中只包含neworder业务且性能为100万TPMC时,每个事务产生的网络流量为

(580+142)+(236+142)+(220+142)+( (824+142)+(266+142) )*10+(314+142)=15658字节

网络吞吐量为

15658*1000000/60/1024/1024=248.9MB/s

SSC从节点的发送PPS为

(4+2*10)*1000000/60=400000包/s

四、与HAC和RHAC集群的对比

综合以上3小节可知,在相同的业务场景下,相比于HAC和RHAC集群,SSC集群的网络压力要很低,在TPCC性能达到100万tpmc的情况下SSC集群主从节点间的理论网络吞吐量最高为3.4MB/s,主节点的发送PPS为16666.7包/s,而HAC和RHAC集群网络吞吐量至少为333.33MB/s,以上只是理论值,忽略了其他消息类型,实际测试场景要高于理论值。

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

通过对GBase 8s SSC集群网络吞吐量的深入分析,我们可以看到其在不同业务场景下的优秀表现。SSC集群的设计不仅优化了网络交互,还确保了在高负载情况下的稳定性和可靠性。随着企业对数据库性能要求的不断提高,GBase 8s SSC集群无疑将成为更多企业的首选。

原文链接:
https://www.gbase.cn/community/post/4044
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

原文链接:
https://www.gbase.cn/community/post/4044
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值