GCP Cloud Endpoints延迟

时间:2019-03-05 17:06:32

标签: proxy google-cloud-platform google-cloud-endpoints latency

Cloud Endpoints产品概述指出:

  

可扩展服务代理可在每次呼叫不到1毫秒的时间内提供安全性和洞察力。

但是,我观察到了10毫秒以上的延迟(有时可能是100毫秒)。

我们的服务器设置为:

  • 我们有一个GKE集群,它具有:
    • 用于Pod的Kubernetes部署,每个部署都有一个ESP容器和我们自己的容器,该容器提供gRPC服务
    • Kubernetes服务(LoadBalancer类型),其目标引用ESP容器
  • 我们为gRPC服务提供了一个端点配置,该配置仅包含基本内容,如下所示。
  • 我们为客户发布了API密钥

在此实验中,我们在同一区域的另一个GKE集群中有一个客户端程序。

在此设置下,我们的实验显示:

  • 客户端端超时15毫秒,超过95%的呼叫超时
  • 在GCP的端点仪表板上,大多数请求花费了100毫秒以上的时间
  • 在堆栈驱动程序跟踪上,所有延迟都属于“后端”
  • 在我们自己的容器上进行测量时,延迟低于5ms

服务器的CPU负载非常低(低于10%),并且此时没有过载的迹象。

假设gRPC不会增加太多延迟,我们认为延迟可能来自ESP。

因此,我们用ESP绕过了另一个实验:

  • 我们修改了Kubernetes服务,使其引用了我们自己的容器,而不是ESP容器

此修复程序之后,在客户端测量的等待时间降至5ms。

因此,如果我们的实验是正确的,则似乎ESP容器会增加延迟(距离1ms远),这在产品概述中进行了宣传。我们错过了什么吗?

端点配置:

type: google.api.Service
config_version: 3

name: foo.endpoints.bar.cloud.goog

title: foo in bar
apis:
- name: com.bar.FooService

0 个答案:

没有答案