1、DMDSC 概述
DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些文件。各个节点有自己独立的联机日志和归档日志。这些文件就保存在共享存储上。
DMDSC 集群中,为了实现多个实例同时访问、修改数据,要求将数据文件、控制文件、日志文件保存在共享存储上。DMDSC 支持使用裸设备或 DMASM 文件系统作为共享存储。配置 DMDSC 集群需要的 DCR、Voting disk 也必须保存在共享存储上(目前仅支持裸设备存放 DCR 和 Voting disk)
在使用达梦DSC实践过程中,发现多数性能问题是在于双节点在等待磁盘IO。
2、DMDSC特性
DMDSC 的主要特点包括:
1、 高可用性 只要集群中有一个活动节点,就能正常提供数据库服务。
2、 高吞吐量 多个节点同时提供数据库服务,有效提升集群的整体事务处理能力。
3、 负载均衡 用户的连接请求被平均分配到集群中的各个节点,确保各个节点的负载大致平衡。
目前规模性使用的均为DMDSC 双节点模式,但是在重要业务并发量大后,达梦库双节点在消耗CPU上表现非常明显,通常128/288逻辑核的CPU全部会消耗殆尽,在业务不能拆分的情况下,可以尝试进行接入第三节点。下面针对三节点的接入进行验证。
3、DMDSC 三节点验证
用例适用于国内**大型企业核心国产库DMDSC集群两节点和三节点负载的测试。验证内容主要针对数据共享集群的负载情况,以便根据实际业务需求对产品进行评估。
验证方法,将生产环境正常业务段的日志,在新搭建环境进行重演。
验证环境:

磁盘划分:

DB2,DB3 配置一致。
测试工具: LOGRUN ,并发数 150
工具连接数据库连接方式:DM_SVC 连接方式,SVC配置如下:
TIME_ZONE=(480)
LANGUAGE=(cn)
DMDSC_TEST=(DB01-IP:PORT, DB02-IP:PORT,DB03-IP:PORT)
[DMDSC_TEST]
CLUSTER=(DSC)
EP_SELECTOR=(0)
SWITCH_INTERVAL=(100)
SWITCH_TIMES=(1000)
AUTO_RECONNECT=(1)
DB_ALIVE_CHECK_FREQ=(1000)
DSC双节点测试结果:
1、数据库负载
DB01:

DB02:

CPU使用率基本达到100%。 生产环境配置更高,所以能顺畅运行。
2、数据库会话数
DB01

DB02

从结果分析,能够明显看出 达梦DSC集群 负载效果良好,两节点压力基本一致。
DSC 三节点测试结果
DB01:

DB02:

DB03:

会话数:
DB01,02,03 基本是在 100左右。 会话数和 两节点的会话数一致。
验证结果:
通过日志重演工具,重演生产环境SQL,采用150并发进行压测,1个节点的逻辑CPU为64个。当压测2节点时,每个节点CPU使用率达90%以上;当同样压力压测3节点时,每个节点CPU使用率降低至70%左右。
经测试说明,对于业务库场景,3节点DSC能有效分担并发压力,降低每个节点的负载。
总结:
达梦国产库,双节点目前应用较为广泛,但是也存在部分并发写入的性能问题,在并发读的情况下表现优秀。
在两节点不能承载业务的时候,可以适当的使用一档机或者引入三节点DSC进行分压。
祝:国产数据库越来越好。