谷歌容器引擎运行烧瓶宁静api的滞后峰值

时间:2017-11-16 14:09:38

标签: flask kubernetes google-cloud-platform google-cloud-sql google-kubernetes-engine

我在flask restplus api的谷歌容器引擎上运行TCP Load Balancer。烧瓶restplus api调用谷歌云数据存储或云sql,但这似乎不是问题。

每天几次甚至更多次,有一个潜伏期延迟的时刻。重新启动pod可解决此问题,或者在5到10分钟内解决问题。当然这太多了,需要解决。

任何人都知道这可能是什么问题或有这些问题的经验?

THX

1 个答案:

答案 0 :(得分:0)

您可以尝试的一件事是监控实例CPU负载。

尽管延迟与使用率峰值并不对应,但可能会出现累积影响CPU负载的情况,并且当CPU达到给定%并且需要时,您遇到的延迟会发生暂时退回。如果是这种情况,您可以使用群集自动缩放,或尝试运行更高规格的机器,看看是否有任何区别。或者,如果您在pod /容器上使用的CPU有限,请尝试增加此限制。

如果您确信CPU不是问题的原因,您可以尝试在问题发生时通过SSH连接到受影响的实例,通过负载均衡器发送请求并使用tcpdump分析流量来进进出出。您可能能够发现延迟是来自负载均衡器(通过监控到实例的HTTP流量的延迟),还是来自云数据存储区或云SQL(来自实例)。

或者,尝试使用strace在延迟之前和期间监视相关进程,或者dtrace来监视整个系统。