点亮技能树|DeepFlow零侵扰的微服务性能监控-微服务时延瓶颈定位

SDN in China

2022年6月23日

产品资讯

在第一期中,我们给大家介绍了业务零侵扰模式下,如何使用 🔗DeepFlow产品进行微服务异常问题定位, 这一期将教大家使用DeepFlow进行时延瓶颈定位的方法,欢迎收藏本文。

当微服务存在时延高时,使用DeepFlow产品仅需三步即可完成问题定位。详细步骤请观看以下视频。

点击观看视频

01|三步定位微服务时延瓶颈问题

微服务应用运行时,在DeepFlow平台上可层层递进式定位时延高的问题:

  1. 查看服务路径时延指标
  2. 查看服务的调用详情
  3. 根据调用详情进行链路追踪

一、查看服务路径时延指标

第一步,点击应用-路径页面,选中序号为1的sandbox的搜索条件,此搜索条件通过设置应用响应时延为主指标

即路径都将按响应时延从大到小降序排列,并且设置了阈值,当时延超过阈值时,会将路径标红

可查看到web-shop服务访问svc-order服务这条路径存在时延高的情况。

二、查看服务的调用详情

第二步,点击时延高的路径,将出现右滑框,右滑框中可通过应用指标响应时延指标确认时延高的发生的时间点

通过曲线图可知17:44分出现过时延高的情况,可结合请求率简单判断下是否因为负载高导致时延高,从请求率看负载很低,排除负载高这个原因,继续往下查找问题。

查看应用调用页面,根据时间点查找发生时延高的具体调用,可知为HTTP协议的/createOrder请求存在时延高的情况。

三、根据调用详情进行链路追踪

第三步,对这个/createOrder请求进行链路追踪,点击调用链追踪页面输入时间+对应的请求资源,可找到所需的请求。

点击追踪操作,将进入二级页面查看调用链追踪火焰图,此火焰图包含进程以及网络的多个统计位置,后续还将包含代码基本的统计位置。其中进程的时延数据统计通过创新使用eBPF来实现;网络的统计数据则通过在网络中部署多采集器分析网络数据来实现。

通过火焰图可知/createOrder请求由/shop/full-test请求触发,并在web-shop的服务中发起了实际的请求,此请求在网络中经过了web-shop的pod所在的网卡、pod所在容器节点,到达了svc-order所在的容器节点,通过svc-order的网卡进入到svc_order的pod里面。其中网络上并无过多的时间消耗,而是svc_order所在的pod接收到/createOrder请求后,pod内部的处理花费了大量的时间。

02|总结

接下来则可以确认时延高的路径:web-shop服务访问svc-order服务;调用详情:HTTP协议的/createOrder;时延高发生的时间点:17:44分;问题具体位置:svc_order所在的pod内部,通过以上信息,将此次故障事件定位为pod内部消耗了大量时间的结果反馈给应用开发部门,让他们接力继续定位代码层面的时间消耗。

谢谢大家的观看,请期待第三期,将为大家讲解如何使用DeepFlow平台追踪NAT前后的流量

Related Posts

使用 sealos 一键开启 Kubernetes 应用的可观测性

SDN in China

2022年8月8日

产品资讯

今天我们很高兴的和大家分享,sealos 4.0 已经支持了 DeepFlow 集群镜像,从此任何人在任何场景、任何环境可无障碍开启 Kubernetes 应用的可观测性。

Read More

云杉网络加入阿里云数据存储生态计划 携手共建云原生可观测性

2022年7月29日,阿里云宣布发布全新数据存储生态计划,面向行业ISV伙伴,通过产品集成和认证方式共建联合解决方案。云杉网络DeepFlow对eBPF技术的创新应用,以及对应用和网络的全栈、全链路观测能力受到了阿里云SLS产品部门的关注,经过双方深入交流后达成合作,携手共建云生态。

Read More