Traefik为Kubernetes中的请求增加了巨大的开销

时间:2019-06-03 11:31:42

标签: performance kubernetes load-balancing traefik kubernetes-ingress

我正在使用Traefik作为Kubernetes设置的入口控制器。我决定对我的应用程序进行一些性能测试,但是当我通过Traefik发送请求时,我面临着巨大的差异。

该测试包括并行发送10K请求,应用程序返回编译后的结果,根据我的应用程序的日志,处理一个请求大约需要5毫秒。性能测试的结果如下:

  • 本机应用程序: 执行时间(以毫秒为单位):61062
  • 在Kubernetes上的应用(无需通过Traefik并仅使用其IP): 执行时间(以毫秒为单位):62337
  • 在Kubernetes上使用Traefik的应用程序: 执行时间(以毫秒为单位):159499

我的问题是,为什么存在这种巨大差异,并且有办法减少差异(添加更多副本除外)。

我正在使用以下yaml文件设置Traefik:

https://raw.githubusercontent.com/containous/traefik/v1.7/examples/k8s/traefik-rbac.yaml
https://raw.githubusercontent.com/containous/traefik/v1.7/examples/k8s/traefik-ds.yaml

1 个答案:

答案 0 :(得分:0)

我在Kubernetes中尝试使用Ambassador作为我的API网关,其结果比Traefik更好,并且非常接近使用容器的IP(63394毫秒)。显然,特拉菲克并不像人们想象的那样好。