Я использую Traefik в качестве входного контроллера для моей настройки Kubernetes. Я решил запустить тест производительности для своего приложения, но столкнулся с огромной разницей при отправке запросов через Traefik.
Тест состоит в параллельной отправке 10K-запроса, и приложение вернуло скомпилированный результат, и на основании журналов моего приложения ему требуется около 5 миллисекунд для обработки одного запроса. Результаты теста производительности приведены ниже:
Мой вопрос: почему существует такая огромная разница и есть ли способ ее уменьшить (кроме добавления дополнительных реплик).
Я использую эти файлы 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 в качестве шлюза API в kubernetes, и его результат был намного лучше, чем в Traefik, и очень близок к использованию IP-адреса контейнера (63394 миллисекунды). Очевидно, что Трафик не так хорош, как думают люди.