Я вот щас начал затаскивать приложуху с 6-10K rps. И чет ingress nginx удручает. Сейчас обычный nginx без проблем держит эту нагрузку при этом тратит 3.5 ядра (на 10K rps). А вот nginx ingress у меня сейчас принимает 800-900rps и потребляет 4 ядра. Есть ощущения, что они там упоролись с lua и оно как-то не эффективно работает.
Возможно буду думать об отказе от nginx ingress, если не получится потюнить его
Чет потестил еще и реально беда. Для чистоты эксперемента развернул обычный nginx в кластере на налогочной ноде, тоже с hostNetwork: true. nginx той же версии что и в ingress controller (1.19.4). Подогнал настройки, выставив по возможности аналогичные важные настройки, что часто влияют на производительность nginx: ssl, gzip, worker_*, events, tcp_*, keepalive и т.д.)
И результаты такие-же.
При 3K rps nginx ingress controller потребляет 4 ядра cpu. А обычный nginx максимум одно ядро, но в среднем 0.7-0.8 ядра