Kinvolk Service Mesh Benchmark 项目教程
service-mesh-benchmark 项目地址: https://gitcode.com/gh_mirrors/se/service-mesh-benchmark
1. 项目目录结构及介绍
service-mesh-benchmark/
├── configs/
│ ├── benchmark/
│ ├── equinix-metal-cluster/
│ ├── lokocfg.vars/
│ ├── metrics-merger/
│ ├── pushgateway/
│ └── emojivoto/
├── dashboards/
├── metrics-merger/
├── orchestrator/
├── scripts/
├── .gitignore
├── LICENSE
└── README.md
目录结构介绍
- configs/: 包含项目的配置文件,包括基准测试的配置、集群配置、指标合并配置、推送网关配置以及Emojivoto应用的配置。
- dashboards/: 包含Grafana仪表板的配置文件。
- metrics-merger/: 包含用于合并基准测试指标的工具和配置。
- orchestrator/: 包含用于部署和管理基准测试集群的工具和配置。
- scripts/: 包含用于运行基准测试的脚本。
- .gitignore: Git忽略文件。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文件。
2. 项目的启动文件介绍
启动文件
- scripts/run_benchmarks.sh: 这是项目的启动脚本,用于运行完整的基准测试套件。该脚本会安装应用程序和服务网格,并循环运行多个基准测试。
使用方法
$ cd scripts
$ ./run_benchmarks.sh
该脚本会执行以下操作:
- 安装应用程序和服务网格。
- 运行多个基准测试,每个测试持续10分钟,RPS从500增加到5000,每次增加500。
- 使用128个线程对“裸金属”、Linkerd和Istio服务网格进行基准测试,针对60个Emojivoto实例。
3. 项目的配置文件介绍
配置文件
- configs/benchmark/values.yaml: 基准测试的配置文件,包含基准测试的参数设置,如目标RPS、线程数等。
- configs/equinix-metal-cluster/lokocfg: 集群配置文件,包含集群的硬件配置、网络配置等。
- configs/lokocfg.vars: 包含用于配置Lokomotive的变量,如Equinix Metal的认证令牌、AWS的访问密钥等。
- configs/metrics-merger/values.yaml: 指标合并工具的配置文件,包含合并指标的参数设置。
- configs/pushgateway/values.yaml: 推送网关的配置文件,包含推送网关的参数设置。
- configs/emojivoto/values.yaml: Emojivoto应用的配置文件,包含应用的参数设置。
配置文件示例
# configs/benchmark/values.yaml
wrk2:
RPS: "3000"
threads: 96
connections: 96
duration: "120s"
emojivotoInstances: 10
使用方法
在运行基准测试之前,可以根据需要修改配置文件中的参数。例如,修改目标RPS:
$ helm install --create-namespace benchmark --namespace benchmark configs/benchmark --set wrk2.RPS="500"
通过这种方式,可以灵活地调整基准测试的参数,以适应不同的测试需求。
service-mesh-benchmark 项目地址: https://gitcode.com/gh_mirrors/se/service-mesh-benchmark