Traefik добавляет огромные накладные расходы на запросы в Kubernetes - PullRequest
0 голосов
/ 03 июня 2019

Я использую 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 голосов
/ 04 июня 2019

Я использовал Ambassador в качестве шлюза API в kubernetes, и его результат был намного лучше, чем в Traefik, и очень близок к использованию IP-адреса контейнера (63394 миллисекунды). Очевидно, что Трафик не так хорош, как думают люди.

...