利用访问日志在ASM中定位异常延迟问题

简介: 阿里云服务网格ASM会在工作负载中注入Sidecar以实现对流量劫持,并按照用户的配置对流量进行修改、路由。因此,Sidecar处理和转发带来的额外时间开销会导致请求的延迟有一定的增长。除延迟方面的影响外,在节点性能充足的情况下,Sidecar通常不会对并发能力有显著的影响。本文将介绍利用访问日志在服务网格ASM中排查耗时异常的通用方法和思路。 一、在请求路径上确定耗时异常的组件查看访问日志中

阿里云服务网格ASM会在工作负载中注入Sidecar以实现对流量劫持,并按照用户的配置对流量进行修改、路由。因此,Sidecar处理和转发带来的额外时间开销会导致请求的延迟有一定的增长。除延迟方面的影响外,在节点性能充足的情况下,Sidecar通常不会对并发能力有显著的影响。本文将介绍利用访问日志在服务网格ASM中排查耗时异常的通用方法和思路。 

一、在请求路径上确定耗时异常的组件 查看访问日志中的duration字段确定该请求在该数据平面组件消耗的总时间(包括读取并转发请求至上游、等待上游响应,以及读取并转发上游响应至下游),如果该时间异常,则应当继续向上游方向排查调用路径上的下一个组件,如果调用路径上下一个组件的延迟正常,则可以确定耗时异常发生在当前组件上;反之则应当继续向上游排查,直至确定耗时异常的最上游组件。

二、确定耗时原因

网络传输耗时 通过观察访问日志,如果request_duration耗时长,说明当前数据面组件(Sidecar/网关)从下游读取请求消耗了较长时间;如果request_tx_duration耗时长则说明发送至上游消耗了较长时间。对于携带了Body的HTTP请求,由于Body是边读取边发送给上游(而不是读取完才发送),所以request_duration长会进一步导致request_tx_duration变长,而如果只有request_tx_duration长的情况,则说明读取请求较快,但发送给上游的速度较慢。如果response_tx_duration耗时长,则说明从上游读取response或是将response转发给下游的速度比较缓慢。

上游处理耗时 访问日志的response_duration字段可以表达从请求发生直到收到上游响应的首个字节所消耗的时间,response_duration减去request_tx_duration可以反映上游处理所消耗的时间,如果这个时间长,则说明上游处理缓慢或是上游连接网络延迟较高。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6月前
|
Linux Perl
Linux 系统快速分析日志定位故障原因的 10 个方法
在 Linux 系统中,日志是一种非常重要的资源。系统管理员可以通过日志记录的内容来检测系统的运行状况,分析问题,做出相应的调整和优化。由于日志文件数量庞大,内容复杂,因此需要使用一些工具和技术帮助管理员进行快速分析和查找。 本文将介绍 Linux 系统中快速分析日志、定位故障的 10 个方法。
1015 1
|
5天前
|
Java
log4j异常日志过滤规则配置
log4j异常日志过滤规则配置
15 0
|
4月前
|
Java Maven
maven 项目配置日志打印以及异常日志打印问题
maven 项目配置日志打印以及异常日志打印问题
59 0
|
5月前
|
消息中间件 搜索推荐 关系型数据库
淘东电商项目(51) -全局异常日志采集(ELK+Kafka)
淘东电商项目(51) -全局异常日志采集(ELK+Kafka)
54 0
|
5月前
|
应用服务中间件
Tomcat启动时日志报 dcom.sun.manager.jmxremote 异常导致无法正常启动使用
Tomcat启动时日志报 dcom.sun.manager.jmxremote 异常导致无法正常启动使用
|
6月前
|
Java 项目管理 Spring
【log4j异常】Spring boot项目启动报警告信息,log4j:WARN Please initialize the log4j system properly.
【log4j异常】Spring boot项目启动报警告信息,log4j:WARN Please initialize the log4j system properly.
90 0
|
8月前
|
监控 算法 Unix
在Linux服务器上通过日志筛选技巧定位Spring Boot项目问题
在项目开发和维护的过程中,我们经常需要在 Linux 服务器上查询和分析日志文件。为了高效地处理大量的文本数据,我们可以借助一些强大的文本过滤工具,如 tail -f、more、zmore 和 grep。本文将介绍这些常用的 Linux 命令,帮助您在日志分析中更加得心应手。
155 0
|
8月前
|
Java
日志快速定位-traceId
最近对接的时候有个细节让我比较关注,他们在解决问题的时候会问你请求的traceId是什么,然后他们就能通过日志快速定位问题。然后我就想,我们能不能搞一个玩一下。 我们来想一下这个东西怎么实现。
250 1
|
9月前
|
Java Nacos
java查看日志定位错误
java查看日志定位错误
|
9月前
|
网络协议 Shell Perl
根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁
根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁
69 1