以验证容灾能力为例:
我们将恢复点目标(Recovery Point Object,RPO)作为衡量其可靠性的核心指标,用以验证分布式关系型数据库的容灾能力。在对分布式关系型数据库持续进行写操作过程中,人为制造故障场景后(如切断一个或多个数据库的计算节点),观察其是否仍可稳定运行,并监测数据库性能恢复时间,统计故障恢复时间内写入数据的丢失率。
(一)搭建模拟业务场景的测试环境
搭建模拟实际业务场景的系统环境,部署分布式关系型数据库及其支持的应用系统。按照分布式关系型数据库技术特点,硬件设备方面一般需准备6台服务器及配套交换机,用于部署被测数据库,其中1台可复用部署业务场景模拟系统;另需1台桌面终端,部署压力测试工具。
(二)模拟灾难进行测试,实时监测性能数据
测试工具建议选择LoadRunner,其作用一是模拟实际用户持续访问业务场景模拟系统,对被测数据库进行持续写入操作;二是监测在故障发生时数据库的性能表现。
测试时,首先通过LoadRunner模拟多用户并发,以固定速率对业务场景模拟系统进行持续数据(以数据记录为单位)写入操作;平稳运行5 分钟后,手动关闭被测数据库的1个计算节点,模拟该节点运行发生故障并退出;继续保持数据写入操作,等待系统运行稳定。期间,由系统、测试工具监测记录故障恢复时间、故障期间应写入数据记录和实际写入数据记录等数据,并计算RTO(恢复时间目标)、故障期间数据丢失率等指标。
(三)测试结果分析
参照GB/T 20889-2007《信息安全技术 信息系统灾难恢复规范》等标准要求,根据RTO、数据丢失率等指标结果,确定被测数据库支持的灾难恢复等级。