Skip to content

4 Floyd功能测试

flabby edited this page May 18, 2017 · 1 revision

1 功能测试

环境

  • 5个节点的集群,部署在5台Bada的shyc2机器

API测试

  • Read/Write/Delete
  • DirtyWrite/DirtyRead
  • GetStatus

主要测试场景

  • 基本场景
    • 启动
    • 正常集群;
    • follower挂: 从1个节点到3个节点
    • follower重新加入;
      • 短时间重启
      • 长时间后重启;
      • 节点清空后,重新加入
    • Leader挂;
  • 长期运行
Cases API 结果
1 正常操作Leader Write/Read/Delete 正常
2 正常操作follower Write/Read/Delete 正常
3 1个follower down Write/Read/Delete 正常
4 2个follower down Write/Read/Delete 正常
5 1个follower短时间重新加入集群 Write/Read/Delete 挂掉的follower追上
6 1个follower长时间加入集群 Write/Read/Delete 缓慢追上,受限于性能瓶颈
7 1个follower清空后加入集群 Write/Read/Delete 缓慢追上,受限于性能瓶颈
8 leader down Write/Read/Delete 无主时,无法操作,主选出后正常
  • 测试数据:key是100W * 10bytes;value 10 bytes

测试结果

  • 功能测试通过;
  • 存在一些不好的地方:
    • 参数:
      • 每次append的限制entry需要很少(< 30),以防追日志的时候容易超时;
      • 选主超时时间、心跳参数需要配合;
    • 追日志慢;原因是查找Log太慢,需要优化Log;

简介

安装使用

设计与实现

工具

  • FileLog解析工具log_parser

测试

Clone this wiki locally