首页 > 解决方案 > istio 是响应式应用程序的瓶颈吗?

问题描述

我的 Spring Boot 应用部署在 Google Kubernetes Engine 上,并且有一个 Istio sidecar。

技术栈:Webflux(Spring boot 2.2.1)、Istio、Kubernetes、Couchbase

每当有高负载时,Stackdriver Tracing 中记录的响应时间为~1800ms,而应用程序日志表明整个操作在~100ms标记内完成(由最后记录的 complete() 信号验证)。

那是一个巨大的差异!

部署在另一个 pod 中的测试 JMeter 和我的 Spring Boot 应用程序之间的唯一层是 Istio。

我已经在本地测试了我的反应式应用程序,它非常快并且可以承受大量负载。由于 Istio 没有反应性,它会成为瓶颈吗?Istio 不是在有限的线程池上工作并遵循阻塞和同步的方法,即非反应式吗?

我该如何调试呢?Istio-proxy 日志大致反映了 Tracing 中显示的时间。

这是否意味着应用程序正在快速完成,但 Istio 需要时间来响应响应?请指导。

标签: kubernetesgoogle-kubernetes-engineistiostackdrivergoogle-cloud-stackdriver

解决方案


推荐阅读