Traefik 给 Kubernetes 中的请求增加了巨大的开销
Traefik adds huge overhead to the requests in Kubernetes
我正在使用 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
我尝试将 Ambassador 作为我在 kubernetes 中的 API 网关,其结果比 Traefik 好得多,并且非常接近于使用容器的 IP(63394 毫秒)。很明显,Traefik并没有人们想象的那么好。
我正在使用 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
我尝试将 Ambassador 作为我在 kubernetes 中的 API 网关,其结果比 Traefik 好得多,并且非常接近于使用容器的 IP(63394 毫秒)。很明显,Traefik并没有人们想象的那么好。