使用 Traefik 对 Google 全球 HTTPS 负载均衡器上的高延迟峰值进行故障排除

问题描述 投票:0回答:1

使用 JMeter 针对 Google 全球 HTTPS 负载均衡器获取 2.5MB JAR 文件 (/client/signed-jars/lib/bc-prov.jar) 时,我遇到了严重的延迟峰值。在 250 个相同的 GET 请求中,有 84 个花费了 500 毫秒以上,其中一些甚至达到了 10 秒。

目标: 我想确定负载均衡器和 Traefik 中经历高延迟的特定请求。理想情况下,我想跟踪每个组件处理每个请求所需的时间。

问题: 有没有办法唯一地标识 250 个 JMeter 请求中的每一个请求,也许可以通过添加计数器或唯一标识符来实现?这将使我能够将请求与负载均衡器和 Traefik 中的相应日志条目相关联。

设置:

客户端:JMeter 负载均衡器:Google 全球 HTTPS 负载均衡器 入口控制器:Traefik 后端:托管应用程序的虚拟机 问题: 当通过公网 IP 直接访问虚拟机时,250 个请求的平均延迟仅为 2 毫秒。这表明问题出在负载均衡器和/或 Traefik 中。

google-cloud-platform jmeter traefik traefik-ingress gcp-load-balancer
1个回答
0
投票

通常人们为此使用HTTP headers,例如在APM系统中这种方法被广泛用于跨多个应用程序和服务跟踪请求。

标头名称可以是您想要的任何内容,即

X-Request-Id
,而值 - 您可以从 __UUID() 函数 获取唯一标识符,也可以从 __threadNum() 函数获取当前线程(虚拟用户)编号 和来自预定义变量的迭代次数。

可以通过 HTTP 标头管理器

将标头添加到请求中
© www.soinside.com 2019 - 2024. All rights reserved.