免费在线建站了解深圳网站定制开发
免费在线建站,了解深圳网站定制开发,wap网页制作工具,财税公司怎么找客源摘要#xff1a;本文分享了某物流公司使用DeepFlow平台快速定位Nginx网关时延瓶颈的实战案例。该公司发现特定域名在夜间持续出现1秒超时#xff0c;传统APM追踪和监控数据均无法定位根因。通过DeepFlow的零侵扰调用日志#xff0c;分析人员迅速排除了业务响应慢和网络延迟的…摘要本文分享了某物流公司使用DeepFlow平台快速定位Nginx网关时延瓶颈的实战案例。该公司发现特定域名在夜间持续出现1秒超时传统APM追踪和监控数据均无法定位根因。通过DeepFlow的零侵扰调用日志分析人员迅速排除了业务响应慢和网络延迟的可能性将问题锁定在Nginx自身。进一步分析确认瓶颈源于Nginx配置中使用HTTP/1.0协议。将其升级为HTTP/1.1后超时问题立即消失。本案例突显了DeepFlow基于eBPF的全链路、多协议观测能力在复杂环境中快速、精准定位故障的价值。关键词DeepFlow、Nginx、可观测性、故障排查、时延瓶颈、零侵扰、物流行业本文为云杉网络原力释放 - 云原生可观测性分享会第十七期直播实录中的【可观测性实战系列】“实战案例其一·物流行业篇”。回看链接[1]PPT下载[2]。一、背景介绍本次案例为某物流公司在今年 4 月份左右SRE 通过监控 Nginx 日志发现一个域名在每天晚上 12 点后存在大量持续 1s 的超时情况这个问题困扰了用户近一个月。通过查看 DeepFlow 的调用日志立即排除了业务响应慢的可能性最终发现问题是 Nginx 自身配置问题导致的。这个案例展示了如何快速的定位 7 层网关时延瓶颈点。01-nginx_access_log问题持续排查了近一个月问题的阻塞点如下服务之间的访问关系复杂插码APM形式追踪断路严重无法直接确定瓶颈点所在位置服务跨集群部署部分服务内部通信即需要过 Nginx又需要走 Ingress服务通信涉及多协议既有 HTTP 又有 Dubbo02-topology现有监控数据除 Nginx 日志超时以外无任何异常情况问题推进无头绪业务日志无 ErrorNginx 其他业务无 Error、无超时Ingress 日志无 Error、无超时业务实例基础指标无毛刺Ingress 监控指标无毛刺Nginx 监控指标无毛刺SRE 偶尔一次与 DeepFlow 社区沟通过程中说到此问题社区推荐使用 Request Log 试试应该能快速回答瓶颈点在哪里在此之前 DeepFlow 开源版已经在逐步覆盖的过程中正好存在响应慢的业务被 DeepFlow 覆盖了接下分享下借助 DeepFlow 排障的整个过程。二、排障过程step 1利用调用日志(Request Log)输入 url (request_resource 字段)确定超时情况存在。从趋势图可知与 Nginx 日志反馈的情况一致03-request_logstep 2: 聚焦一个时间段利用调用日志的客户端/服务端分析上下游首先利用调用日志的客户端作为服务端追踪上游服务是否存在影响可发现上游服务的时延在增加因此可分析出来上游服务时延的增加是由当前服务造成的需要继续聚焦分析当前服务及下游服务是否存在瓶颈。04-request_log_client假设目前分析服务svc_a访问 Nginx 这一段的调用情况将刚刚分析的数据绘制为拓扑图来看将svc_a作为服务端查看访问svc_a的客户端svc_b这条路径的延迟情况结果显示延迟达到了1.5秒。因此我们可以得出结论目前的延迟问题很可能是由 Nginx 或者 Nginx 下游的服务引起的。05-topology_client接下来利用调用日志的服务端作为客户端去不停迭代追踪下游服务可发现 Nginx 往下的服务响应都非常快基本为 25ms 左右的时延因此可以锁定时延瓶颈是 Nginx 造成的。06-request_log_server07-topology_serverstep 3追踪某次调用的网络流日志确定网络是否存在时延瓶颈。从图中可以看出来网络上的建连时延和系统时延都不高因此可以确定与网络无关仅看 Nginx 自身问题即可。08-flow_logstep 4追踪问题根因接下来转交给了 Nginx 运维同学来继续定位最后通过修改 Nginx 配置将此业务的 HTTP 协议从 1.0 改为 1.1 后1s 时延问题消失。三、问题总结问为什么 Nginx 中配置的 HTTP 协议从 1.0 改为 1.1 时延就消失了因为笔者和运维同学都未对 HTTP 协议有特别深入的了解以下为 ChatGPT 的回复供大家参考。HTTP 1.1 相较于 HTTP 1.0引入了多个性能优化方面的改进包括 1. 持久连接HTTP 1.1 支持在同一个TCP连接上发送多个HTTP请求和响应减少了连接的建立和关闭次数提高了性能和效率。 2. 流水线传输HTTP 1.1 可以同时发送多个请求而无需等待每个请求的响应返回降低了网络通信的延迟加快了数据传输速度。 3. 分块传输编码Chunked Transfer EncodingHTTP 1.1 可以将响应消息分成多个块进行传输和接收提供了更快的响应时间特别适用于大型或动态生成的内容传输。 4. 请求管线化Request pipelining在不等待响应返回的情况下连续发送多个请求减少了等待时间和网络延迟提高了效率。 5. 缓存控制HTTP 1.1 引入了更丰富的缓存控制机制例如ETag、Cache-Control头部字段等可以实现更精确的缓存控制减少了对服务器的请求提高了性能。 这些性能优化的改进使得HTTP 1.1相较于HTTP 1.0具有更好的性能和效率提供了更快速、可靠的数据传输和网络通信。问DeepFlow 在整个案例的价值点是什么利用零插桩的调用日志Request Log分钟级锁定时延瓶颈点利用零插桩的流日志Flow Log分钟级确定非网络时延瓶颈