每个数据库都存在并发任务数的上限。
在GBase 8a的手册中,描述GBase 8a集群的并发任务数与管理节点成正比,单个管理节点可支撑300个并发,增加管理节点可增加并发数上上限。
本文介绍一下GBase 8a集群并发任务数的评估方法。
数据库并发任务数评估通常是采用资源方式评估,如计算节点的cpu核数、IO性能、内存大小,并考虑单个sql任务的资源需求来评估可承载的并发任务数。
在不考虑资源的情况下,如何来评估GBase 8a集群的理论并发任务数支撑上限呢?这里给出一个公式
理论并发任务数=linux可用端口数/分片总数*管理节点个数
即,GBase8a集群的理论并发任务数上限与分片总数(集群规模)成反比,与管理节点个数成正比,通过增加管理节点个数,可以提高并发任务数上限。
公式中的变量解释:
linux可用端口数:linux系统支持的端口总数为65536,程序可用使用的端口范围是1024~65536,这里我们取该变量的取值为6万;
分片总数:GBase 8a集群计算节点表分片的总个数,需要考虑整个虚拟机集群下的所有VC,需要考虑主分配和备份分片,根据实际情况计算。如虚拟集群共包含3个vc(子集群),各vc的节点数、数据分布策略、总分片个数如下:
VC1: 4个节点,数据分布策略为p2d1,即每个节点上2个主分配,每个主分配有1个备份,则总分片个数=4*2*2=16。
VC2: 5个节点,数据分布策略为p1d1,即每个节点上1个主分配,每个主分配有1个备份,则总分片个数=5*1*2=10。
VC3: 6个节点,数据分布策略为p1d2,即每个节点上1个主分配,每个主分配有2个备份,则总分片个数=6*1*3=18。
虚拟集群的分片总数=16+10+18=44 。
管理节点个数:虚拟集群的coordinator管理节点个数,如3个管理节点。
计算理论并发数= 60000/44 *3= 4090 。
如果计算节点总数较多,单个管理节点可承担的并发任务数上限就会变小,如200个数据节点,数据分布策略为1主1倍,则单个管理节点的并发任务数上限=60000/400 = 150个,增加管理节点个数也可以提高整个集群的并发任务数。




