在Db2 pureScale GDPC数据库双活技术方案设计的资源设计环节中,我们该如何划分及分配成员和CF节点的资源? 从哪些点方面进行入手考虑(例如并发访问量、数据量等),需要特别关注哪些什么(例如写读比例、写一致性、读一致性等)?
收起CF和成员节点的内存主要就是CPU和内存的分布,还有就是RDMA通信网卡资源。
我们至今还没有遇到网卡带宽瓶颈。即便是在双活环境出现CF和成员通信瓶颈也不是因为带宽,而是Db2集群内部通信的机制导致。所以对于RDMA网卡,冗余满足高可用即可。
成员CPU的估算是基于工作负载来的,直接比较的对象是单机的数据库资源配置。因为成员相对于传统单机数据库有更多的消耗,所以在同样一个节点的负载需求情况下,建议成员CPU要比单机更多一些。 CF的CPU需求和RDMA卡有关系。IBM官方推荐一个CF的RDMA卡口对应6-8个CPU核心。
成员节点的内存也是相对于同样工作负载下单机的数据库内存配置来比较的。因为成员和CF之间有了更多的锁,所以主要区别就在于成员节点的locklist需求变得更大,个人建议调整为单机数据库的两倍吧。CF的内存消耗主要是GBP和GLM这两大块。给大家一个公式:GBP大小是LOCAL BUFFERPOOL总页面数1.25KBMEMBER数量。GLM就是所有member节点locklist总和吧。解决这两大块的估算再加一些就是整个CF的内存配置需求量了。