Калибровка приложения для потребления ресурсов

У меня есть приложение, ~40 контейнеров докеров, отличающихся от NoSQL, RDBMS, приложений C, приложений Go, Python и т. Д., Оркестрированных с использованием Kubernetes, Все работает на GCP, С GLB(Load Balancer) на внешнем интерфейсе.

Теперь, если я создаю много реплик и даю много ресурсов этим приложениям, тогда все работает правильно. Но если я даю достаточно ресурсов, то интерфейс иногда загружается очень медленно, веб-приложение на некоторое время перестает отвечать на запросы, а затем загадочно возвращается обратно.

Все это происходит без вытеснения или перезапуска.

Когда это происходит, я вижу, что процессор / память на 50%, поэтому ресурсы не исчерпаны.

Как начать отладку, в чем причина медлительности? Как мне откалибровать какое приложение требует сколько ресурсов?

1 ответ

Вы можете посмотреть трассировку или что-то вроде Istio, оба из которых дадут вам лучшую телеметрию о том, кто с кем разговаривает, латентность между ними и т. Д.

Другие вопросы по тегам