首页 > 其他分享 >南大通用GBase 8s 集群网络交互信息概述(下)

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

时间:2024-09-19 18:23:06浏览次数:3  
标签:20 54 142 网络 节点 8s 交互 GBase SSC

在上篇文章中,我们了解了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集群无疑将成为更多企业的首选。

标签:20,54,142,网络,节点,8s,交互,GBase,SSC
From: https://blog.51cto.com/u_17026136/12058173

相关文章

  • K8S入门学习(四):集群编排工具之 Dashboard
    一、Dashboard简单介绍1.1、Dashboard它是什么Dashboard是K8s集群管理的一个基于web的用户界面---WebUI,它提供了一个直观的方式来管理和监控K8s集群。Dashboard提供了对集群资源、应用程序部署和状态的实时查看和操作,使得用户能够更高效地管理和监控其K8s集。Dashboa......
  • k8s规范
    为了更全面地提升Kubernetes集群的效率、安全性、可维护性,以下是更为详尽的Kubernetes使用规范,涵盖架构设计、监控、扩展、安全性等多个维度的最佳实践。 1.架构设计规范1.1多环境隔离开发、测试、生产环境分离:为不同环境使用不同的命名空间或集群,确保开发环境的错误不......
  • GBase8c使用wal2json逻辑复制槽
    1. 参数设置要想使用wal2json逻辑复制,要设置以下参数:wal_level=logicalenable_slot_log=onwal_level设置为logical,表示WAL日志支持逻辑复制。如果需要进行备机解码,要在对应的主机上设置enable_slot_log为on。 2. 逻辑复制槽的使用2.1 创建逻辑复制槽下面来创建一个逻辑复制......
  • 南大通用GBase 8s HAC集群搭建部署指南(下)
    在上篇文章中,我们完成了GBase8sHAC集群搭建的初步配置。本文将重点介绍如何配置主节点和辅节点之间的互信关系,以及如何搭建并验证HAC集群的状态。1、配置互信互信是集群节点间通信的基础。我们可以通过配置.rhosts文件或使用REMOTE_SERVER_CFG参数两种方式来实现互信。根据企业的......
  • 基于Rose HA的GBase 8a高可用方案
    方案背景  随着计算机应用的不断深入,企业对计算机系统的依赖程度也日渐增加。在一些关键应用中,后台数据库是否可以提供及时、可靠的信息和服务是必不可少的,甚至会成为影响公司业务的关键因素。  计算机硬件与操作系统都不可避免地会发生故障,这些故障有可能给企业带来极大的......
  • GBase 8c 兼容性-oracle分区语法
    GBase8c分布式版本支持兼容oracle分区表功能,支持二级分区,9种分区组合,interval分区。分区明显如下:hash分区sql示例,与oracle写法一致。--一级hash分区droptableifexistsmea_hashcascade;createtablemea_hash(city_idint,logdatetimestamp,idint)partition......
  • Arcgis模型构建器04——深入学习篇04——模型工具与地图文档进行交互
    前言在使用模型工具的时候,有些输入数据我想每次执行的时候都自己手动绘制一个面进行输入,那么该如何实现呢?解决办法我们可以把这个输入参数的类型设置为要素集,如图:右击要素集变量,选择属性,选择数据类型,我们可以再这里选择一个符号系统模版来对该要素集进行显示,导入的符......
  • GBase 8s 自定义split_part函数
    gbase数据该函数的功能:以第二个参数separator_in分隔第一个参数str_in,返回第三个参数field_in指定字段。dropfunctionifexistssplit_part2;createfunctionsplit_part2(str_inlvarchar(2048),separator_inchar(1),field_inint)returningvarchar(255);def......
  • GBase 8s数据库连接 – Perl(DBD::ODBC)
    软件需求:1,GBase8sCSDK2,perl-5.16.3及perl-devel-5.16.33,unixODBC-2.3.14,DBD-ODBC-1.60###1,系统环境确认####1.1perl、perl-devel及unixODBC版本Linux下root用户通过rpm确认perl、perl-devel,unixODBC、unixODBC-devel均已经安装,如下:[root@rhel7u6~]#rpm-qaperlperl......
  • GBase8a数据库nmon监控CPU利用率
    实时监控[gbase@xxx-node-1~]$nmon交互命令:h:帮助q:退出c:监控CPU利用率m:监控内存使用情况d:监控磁盘使用率V:监控虚拟内存n:监控网络k:监控内核后台监控上面的快捷命令只能将当前的系统资源实时显示在屏幕下,无法保存到文件中,如果要将结果保存到文件进行分析,需要用到命令行......