51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2317|回复: 1
打印 上一主题 下一主题

一种分布式数据库的RTO测试方法

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:14
  • 签到天数: 938 天

    连续签到: 5 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-8-4 09:53:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    背景
      随着分布式数据库的日渐成熟,在金融行业逐渐推行分布式数据库的使用,如何验证分布式数据库的高可用性是应用方所关注的。
      本文针对主流的TDSQL分布式数据库,在测试环境模拟真实业务持续压测,通过人为制造数据节点故障,观测业务具体表现和赤免监控指标得出RTO数值。

      相关概念
      RTO:恢复时间目标,主要指的是所能容忍的业务停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。
      数据库恢复时间,指数据库停止对外服务到重新提供服务的时间。
      Xmeter:一种性能测试发压工具,可以高效的模拟客户端发起高并发请求,同时统计测试结果。
      分片:是把数据库横向扩展到多个物理节点上的一种有效的方式,其主要目的是为突破单节点数据库服务器的 I/O 能力限制,解决数据库扩展性问题。

      测试环境
      本次采用性能测试集群(测试环境模拟本部和同城),环境均使用1主3从跨IDC强同步,不开启退化,均采用物理服务器。两个分片的数据库节点如下表所示:

     为简化测试,本次仅针对无分片的业务交易进行测试,选定分片1进行故障模拟测试。

      测试及验证方法
      在测试环境下模拟真实业务场景使用Xmeter平台持续压测,进行主动切换和人工模拟故障引起被动切换两种方式来查看和测试RTO指标。
      其中RTO分为两个层面进行关注,一是数据库中断时间,二是业务恢复时间。其中Xmeter的主要设置如下:

    故障模拟方法:kill掉相关实例在DB节点的mysqld进程,将oc _agent检查db节点存活的配置文件重命名,防止自动拉起进程。
      每个测试场景结束后恢复该文件,检查数据库恢复正常后进行下一个场景的测试。
      业务中断时间(RTO)检测方法:从xmeter监控何时业务恢复。
      数据库中断时间检测方法:通过[url=]shell[/url]脚本,每秒向数据库指定表插入一条数据,查看插入失败报错的时间段。

      测试结果

    结论及高可用表现
    通过测试,验证了数据库在主动切换和模扣故障场景下的高可用表现符合预期,具体表现如下:
      1.主动切换到异步备机,切换后异步备机提升为主,原主节点变为异步,原强同步节点仍为强同步。
      2.主动切换到强同步备机,切换后,指定强同步备机提升为主,新主同IDC备机由强同步变为异步,原主和原异步备机变为强同步。
      3.主节点down,如果同IDC异步备机没延迟,主节点切换到DC异步备机,备IDC强同步不变。
      如果同IDC异步备机有延迟,主节点切换到备IDC, 原异步备机变为强同步,原强同步备机变为异步。
      4.强同步备节点1个down, 对其他数据节点无影响。
      5.主和强同步备机down,无法确定剩余的强同步备机数据是否正确,数据库停止服务。
      6.主IDCDB 节点全down,主节点切换备IDC,新主节点同IDC的备机仍为强同步。
      7.备IDC数据节点全down,主节点不发生切换,原异步备机提升为强同步。



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-27 02:51 , Processed in 0.066806 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表