《云原生网络数据面可观测性最佳实践》——五、 典型问题华山论剑——2.某客户偶发RTT增高

简介: 《云原生网络数据面可观测性最佳实践》——五、 典型问题华山论剑——2.某客户偶发RTT增高

问题背景

某客户反馈有一台节点上多个Pod出现RTT增高现象,持续时间为10~30s

排查过程

安装ACK Net-Exporter后,问题复现后,观察相应的TCP指标

establish连接数有突增,但是timewait并没有出现突降,可以确认这个pod的业务是快进快出类型,连接的关闭在对端,timewait不在本地,即establish突增的原因是由于本地业务报文回复较慢导致对端没有办法及时关闭连接所致。

image.png

image.png

 listendrops等链接相关的指标的异常是连接增多引发的结果,从这里看关键的信息还是rxqueue堆积的增多,用户进程没有及时处理业务数据,没有及时从socket中完成消费,但是txqueue没有出现堆积,说明用户进程本身没有遇到cgroup throttled级别的调度问题,发送报文的过程是通常的,问题的核心在于用户进程出现了卡顿,卡顿是由于进程本身的业务操作收到影响导致。

image.png

 

客户提供passiveopens的监控,在问题发生附近有明显的先增长后突降的现象,这是一种补偿态的图表,可能与客户的业务逻辑有关,连接的增多导致passiveoopens增长,随后由于增长,半连接队列也被打满,导致passiveopens突降。

同时客户反馈相同节点流量较高的几个pod军出现类似的问题,部分流量较低的pod没有出现明显的RTT增长。

 

客户的业务由于某些原因导致进程本身出现卡顿,覆盖同节点多个pod,从客户提供的情况大致的推测方向有以下几个:

 

iowait增高

dirty page落盘导致卡顿

经确认后客户机型为g6 104c384g,存在2个numa node,且打开了numa balance,即有可能是numa migrate导致

其他底层原因

 

 

可以排除一下原因:

 

cgroup throttle,客户反馈已开启cpu burst

调度问题,客户多个pod相同时间出现,多个cpu同时出现调度问题概率较小

 

查看了dirty page、采样的cpu使用率没有明显的回落,iowait也没有明显的变化。可以排除这些方面的原因。

 

根因原理

客户打开了numa balance,并且numa node有2个,可能存在page migrate。目前来看这个可能性较大。

image.png

 page migration相关资料:

https://www.kernel.org/doc/html/v5.4/vm/page_migration.html

 

page在不同numa node之间做迁移的情况下,可能会导致page关联的task的操作被延迟执行,从而导致进程本身的卡顿。 image.png

 查看进程的/proc/[pid]/sched文件可以看到numa_pages_migrated的数值大于0。

net-exporter监控中发现socket的rqueue堆积比较明显,同时socketlatency read100ms次数变化有突增。

解决办法

建议建议客户使用拓扑感知调度,如果是单独部署,可以关闭集群中单个节点的numa balance,具体操作方式如下:

image.png

相关文章
|
2月前
|
人工智能 安全 Cloud Native
阿里云云原生安全能力全线升级,护航百万客户云上安全
【重磅发布】9月20日,在杭州云栖大会上,阿里云宣布云原生安全能力全线升级,首次发布云原生网络检测与响应产品NDR(Network Detection Response,简称NDR)。同时,阿里云还宣布将持续增加免费的安全防护能力,帮助中小企业客户以极低投入完成基础的云上安全风险治理。
174 15
|
15天前
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
41 5
|
28天前
|
监控 Cloud Native 持续交付
云原生架构下微服务的最佳实践与挑战####
【10月更文挑战第20天】 本文深入探讨了云原生架构在现代软件开发中的应用,特别是针对微服务设计模式的最优实践与面临的主要挑战。通过分析容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,阐述了如何高效构建、部署及运维微服务系统。同时,文章也指出了在云原生转型过程中常见的难题,如服务间的复杂通信、安全性问题以及监控与可观测性的实现,为开发者和企业提供了宝贵的策略指导和解决方案建议。 ####
46 5
|
28天前
|
Kubernetes Cloud Native 持续交付
云原生架构下的微服务设计原则与最佳实践##
在数字化转型的浪潮中,云原生技术以其高效、灵活和可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务设计的关键原则与实施策略,旨在为开发者提供一套系统性的方法论,以应对复杂多变的业务需求和技术挑战。通过分析真实案例,揭示了如何有效利用容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,构建高性能、易维护的云原生应用。文章还强调了文化与组织变革在云原生转型过程中的重要性,为企业顺利过渡到云原生时代提供了宝贵的见解。 ##
|
1月前
|
人工智能 Cloud Native 安全
从云原生到 AI 原生,网关的发展趋势和最佳实践
本文整理自阿里云智能集团资深技术专家,云原生产品线中间件负责人谢吉宝(唐三)在云栖大会的精彩分享。讲师深入浅出的分享了软件架构演进过程中,网关所扮演的各类角色,AI 应用的流量新特征对软件架构和网关所提出的新诉求,以及基于阿里自身实践所带来的开源贡献和商业能力。
176 11
|
1月前
|
存储 运维 监控
云原生应用的可观察性:理解、实现与最佳实践
【10月更文挑战第10天】随着云原生技术的发展,可观察性成为确保应用性能和稳定性的重要因素。本文探讨了云原生应用可观察性的概念、实现方法及最佳实践,包括监控、日志记录和分布式追踪的核心组件,以及如何通过选择合适的工具和策略来提升应用的可观察性。
|
2月前
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
442 16
|
4月前
|
弹性计算 运维 安全
面对蓝屏,阿里云云原生能力可以帮客户做点啥?
Windows大面积蓝屏,问题源于“CSAgent.sys”加载错误设定的“C-00000291*.sys”文件。阿里云充分利用云原生能力,通过ECS实例自助排查和OOS批量操作快速修复受损机器。
|
4月前
|
存储 监控 Cloud Native
kubevela可观测体系问题之KubeVela云原生时代可观测性挑战的问题如何解决
kubevela可观测体系问题之KubeVela云原生时代可观测性挑战的问题如何解决
|
5月前
|
弹性计算 监控 Cloud Native
构建多模态模型,生成主机观测指标,欢迎来战丨2024天池云原生编程挑战赛
本次比赛旨在如何通过分析 ECS 性能数据和任务信息,综合利用深度学习、序列分析等先进技术,生成特定机器的性能指标。参赛者的解决方案将为云资源管理和优化决策提供重要参考,助力云计算资源的高效稳定运行和智能化调度。
653 15
下一篇
无影云桌面