分布式系统测试工具——Jepsen安装
上一篇 /
下一篇 2022-06-02 14:40:50
/ 个人分类:测试工具
一、 为什么选择Jepsen
分布式系统测试工具的目的主要是模拟各种异常测试条件下(如:网络抖动、进程崩溃、单节点进程重启、操作系统时间不一致等),分析测试结果的正确性(如:是否满足分布式系统的线性一致性)。然而,对于测试人员而言,虽然可以使用一些线程的linux工具或方法(如iptables命令、手动Kill进程、reboot单节点等)模拟测试条件,但是手工模拟效率低、工作量大(如:需要切换节点操作、抓取日志各节点日志等),且人工进行测试分析任务较重,不是理想的选择。而Jepsen作为比较著名且使用较多的开源分布式系统测试软件(已经帮助过Elasticsearch、Etcd、Zookeeper、cockroachdb等项目),测试特点偏黑盒测试(通过接口进行各种操作,模拟故障注入验证分布式系统的一致性),可以作为测试人员优良选择。
虽然,讲了这么多Jepsen的优点,但是对于测试人员来说,它也有自身的不足。比如:1)学习成本较高,需要学习Clojure语言(Jepsen是用Clojure开发的框架,测试用例也需要使用Clojure语言编写);2)无法长时间并发运行,容易造成OOM;3)测试用例需要定制Model,复杂数据类型的结果分析,需要专门做一些定制开发。
二、 Jepsen的安装方法
由于网上Jepsen基于docker的安装方法较多,本文主要演示Jepsen裸机安装方法。
以Ubuntu操作系统为例:
1. 环境配置
软件/工具名 | 备注 |
JDK环境 | 版本要求:1.8版本及以上 |
Leiningen安装 | Clojure构建工具 |
Gnuplot安装 | 交互式绘图工具,可以用于Jepsen呈现性能图 |
Graphviz安装 | 可视化图形工具,可以用于Jepsen呈现异常结果 |
安装命令:sudo apt-get install openjdk-8-jre
openjdk-8-jre-headless libjna-java gnuplot graphviz
收藏
举报
TAG:
大佬养成计划