Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

滚动升级测试 #126

Open
9 of 70 tasks
anshubo-yun opened this issue Mar 22, 2021 · 0 comments
Open
9 of 70 tasks

滚动升级测试 #126

anshubo-yun opened this issue Mar 22, 2021 · 0 comments

Comments

@anshubo-yun
Copy link
Contributor

anshubo-yun commented Mar 22, 2021

Changelog

Features

  • Features

Bug fixes

  • Bug fixes

Enhancements

  • Enhancements

Tech debt

  • Tech debt

通用

  • 关闭 SSH 服务
  • 清除 .bash_history(包括 ubuntu 和 root 用户)
  • 安装 arping 防止同网段虚机和 IP 地址频繁重建引起的问题(apt install iputils-arping)
  • TCP keepalive timeout(基础网络)
  • 支持 NeonSAN(硬盘类型 5 和 6)
  • 支持新实例类型(101,201,301)

服务功能测试

  • 写入数据,自定义客户端正常读取
  • 在配置项可自由开启zabbix-agent
  • 在配置项中可自由开关caddy
  • confd升级到最新版本
  • 通过浏览器查看服务日志
  • 日志轮转

集群功能测试

创建

  • 创建单个节点的集群
  • 创建多个节点的集群
  • 创建常用硬件配置的集群
  • 修改常用配置参数,创建集群

横向伸缩

  • 增加节点,数据正常
    • redis 多节点架构
      • 单节点 --> 三节点 --> 多节点
      • 单节点 --> 多节点
  • 删除节点
    • redis 多节点架构
      • 多节点 --> 三节点 --> 单节点
      • 多节点 --> 单节点

纵向伸缩

  • 扩容:服务正常
  • 缩容:服务正常

升级

  • 数据不丢
  • 升级后设置日志留存大小限制值,查看日志留存配置生效
  • 升级至 redis 多节点架构,sentinel.conf 中的 master 更新为 cluster_id

其他

  • 关闭集群并启动集群
  • 删除集群并恢复集群
  • 备份集群并恢复集群
  • 支持多可用区
  • 切换私有网络
  • 绑定公网 IP(vpc)
  • 基础网络部署
  • 自动伸缩(节点数,硬盘容量)
  • 健康检查和自动重启
  • 服务监控
  • 从 RDB 文件恢复数据

高可用

  • Redis StandAlone
    • 把三节点集群中的主节点断网,自动做主从切换(允许 10 秒的时间完成主从切换的动作)
    • 客户端通过 sentinel 方式连接,把三节点集群中的主节点断网,数据正常写入和查询(切换过程中读写操作不可用)
    • 客户端通过 VIP 方式连接,把三节点集群中的主节点断网,数据正常写入和查询(切换过程中读写操作不可用)
    • 关闭服务(redis-server/redis-sentinel)后,服务可自动启动
  • Redis Cluster
    • 多主多从时,关闭少部分的主节点(小于等于 nodeCount//2),可以在大约 15s 后选出新的主节点
    • 切换前与切换后,通过 redis-cli -c 均可以正常写入数据
    • 挂掉的主节点可以在2分钟内被拉起,并作为从节点添加进入集群

压力测试

  • 删除磁盘未占满节点,可以删除
  • 删除磁盘占满节点,可以删除
  • 节点磁盘占满,扩容硬盘后,集群节点恢复正常

故障测试

  • Redis Cluster
    • 将某从节点对应的主节点做切换
      • 「在组内」监控项变为 false
      • 两分钟后该节点变为异常,手动执行 appctl check 或者 appctl revive,返回值 221
      • 在该情况下,切换私网、增加节点、删除节点均失败,报错:存在节点发生错位,请通过工单与我们联系
      • 关闭发生错位的从节点的 redis-server ,执行 appctl check 或者 appctl revive ,返回值为 221,且 redis-server 不会被拉起

性能/基准测试

  • 持续读写平均延迟

    压测工具:redis-benchmark,单节点 QPS > 10W+

Long Run

  • UI界面中循环进行创建集群--增删节点--重启集群--扩容集群--删除集群的操作
  • 对同一个集群持续做增加节点--扩容集群--关闭启动集群--切换私网--删除集群的循环操作
  • 在10G存储,且内存使用率为95%的集群中,循环进行增删节点--扩容缩容集群--重启集群的操作

上线

  • 老区(广东 1 区、亚太 1 区)有可部署的版本
  • 所有区可以正常部署
  • 服务价格改为 0
  • 版本号合理命名
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant