SoCC21-Alibaba-Characterizing Microservice Dependency andPerformance: Alibaba Trace Analysis
总结
- 比较微服务和传统并行任务的区别
- 从调用图、依赖、运行时性能角度进行分析,同时对动态调用图进行建模
- 有用的点:
- 调用图 - 重尾分布
- 内存CPU影响 - CPU影响更大 - CPU占用越高,RT越高
1. Intro
微服务和传统并行任务调用图不同
- 重尾分布:10%的调用图有40个以上的微服务
- 热点
- 高度动态
有些服务见有强依赖性 UM-DM
CPU限制更大
- 同时RT可以用于拓扑cluster
2. Alibaba trace介绍
- 通信中,ROC 76%, MQ 23%, IP(进程内通信) 1%
3. 调用图分析
特点
重尾分布
- 导致传统机器学习来做资源分配是困难的
调用链中,大多数层只包含一个微服务
微服务调用图是高度动态的
- 聚类结果:一个微服务的调用链中,会有多个类别的调用图/聚类
提出了一个图分类算法
分析
- MQ能更少得较少RT
4. 依赖
讲了死锁/回环依赖
- 但感觉实际上回环依赖比较少
5. 微服务运行时性能
MCR:
Microservice call rate (MCR) 一个微服务每分钟被调用的次数
MCR和CPU利用率以及Young GC高度相关,和内存利用率关系不大
- 只能说明调用高了,CPU利用率就高。
微服务RT性能
- CPU占用越高,RT性能越差
6. 动态调用图建模
7. 相关工作
- 有人用系统排队作为指标:网卡、线程、socket,但数据难以获得
SoCC21-Alibaba-Characterizing Microservice Dependency andPerformance: Alibaba Trace Analysis