《《基于容器的平台性能测试方法》解读—郑剑锋(中国信通院)(23页).pdf》由会员分享,可在线阅读,更多相关《《基于容器的平台性能测试方法》解读—郑剑锋(中国信通院)(23页).pdf(23页珍藏版)》请在三个皮匠报告上搜索。
1、基于容器的平台性能测试方法解读中国信息通信研究院云计算与大数据研究所郑剑锋01容器平台性能测试背景全球云计算市场稳定增长,云原生技术成为降本增效最优路径 20192019年,全球云计算市场规模达到18831883亿美元;20192019年,我国云计算市场规模达13341334亿元,增速38.61%38.61%,云计算已经成为各行业数字化转型的关键信息基础设施。企业在全面转向云计算后,如何运用云计算满足IT信息化决策的需求,赋予传统IT更好的能力和效能,成为下一阶段云计算的发展原动力。在现阶段以容器技术为核心的云原生技术架构成为降本提质增效的最优路径。云计算容器技术采纳率容器编排技术采纳率数据来
2、源:云计算开源产业联盟中国云原生用户调查报告(2020年)数据来源:Sysdig 2019年容器使用报告大规模容器集群平台性能瓶颈Etcd出现较高读写延时服务请求过多存储超限后无法存储Kubernetes的大量对象API Server查询检索Pod或Node的延时非常高Controller 不能及时从 API Server 感知到在最新的变化,处理的延时较高。当发生异常重启时,服务的恢复时间可能需要分钟级。Scheduler调用延时高,吞吐差Node、Pod的扩展效率不足网络性能损耗过高存储性能及挂载效率下降02测试内容及测试环境描述测试内容稳定性:集群端到端测试测试目的:测试大规模集群在高负
3、载下的运行稳定性测试方法:以30*N的Pod密度启动集群,对集群加压是集群压力达到90%-100%,持续运行1天,监测集群状态是否正常NO.1NO.1 满负载测试(暴力测试)测试目的:模拟常态运行环境,测试集群稳定性。测试方法:以30*N的Pod密度启动集群,对集群加压使集群负载达到50%-70%,持续运行10天左右,监测集群的运行状态。NO.2NO.2 长稳测试测试目的:测试管理节点故障对集群可用性的影响。测试方法:模拟管理节点故障,管理节点故障比小于50%时,查看集群运行状态是否会引起集群“雪崩”。NO.3NO.3 节点稳定性资源扩展效率:用户最直观的性能体验资源扩展效率:用户最直观的性能
4、体验记录10、50、90、99分位下的Pod启动时间和API调用延时(LISTPOSTDELETEPUTGET)注:百分位指标-指标的分布性。以API调用延时指标为例,90分位指90%API调用的延时时间。测试指标Node启动时间:4s内99%的Pod启动时间:5s内99%的API调用延时:1s内社区推荐SLASLA指标Kubemark是K8s官方提供的一个对K8s集群进行性能测试的工具,可以模拟一个比真实集群规模大得多的K8S的的集群,测试走完API调用的完整流程,只是不真实的调用Docker。kubemark cluster 包括两部分:一个真实的master集群和一系列“hollow”n
5、ode,hollow node 只是模拟了kubelet的行为,并不是真正的node,不会启动任何的pod和挂载卷。hollowNode 以pod的形式运行在 external cluster 中,并连接 kubemark master 将自己注册为kubemark master 的 node。测试工具Kubemark工作原理示意图组件性能测试:网络能力EtcdEtcd性能Etcd写性能:Etcd benchmarkEtcd读性能:大规模集群下频繁挂载卸载存储卷,会存在一定的失败几率。EtcdEtcd性能收集进程CPU消耗5%以内,单节点 10W/s以上的收集能力,不丢失日志。日志轮转过程,收
6、集进程不出现内存溢出。存储性能监测采集资源占用率网络性能网络延时测试:容器化运行qperf,测试不同Service访问方式下的网络延时;网络性能损耗:不同网络方案下的性能损耗比监控采集对worker宿主机CPU的占 用 峰 值 不 超 过 5%,对apiserver造成的CPU峰值消耗不超过10%存储性能:不同存储方案的读写IO性能存储挂载效率:大规模集群下频繁挂载卸载存储卷,会存在一定的失败几率。03测试项详细解读测试内容数字产业化数字产业化容器平台整体性能容器平台单项性能 集群调度效率 满负载压力测试 长稳测试 管理节点稳定性 横向伸缩能力(2个测试项)网络延时 网络性能损耗 存储性能损耗