Как определить разумные тайм-ауты проверки работоспособности для балансировщиков нагрузки?
Мое приложение не выполняет проверки работоспособности балансировщика нагрузки. Я использую тайм-аут проверки работоспособности по умолчанию, равный 5 секундам, но я заметил, что графики средней задержки на CloudWatch подскакивают до ~ 50 секунд в периоды (продолжительностью от 2 до 4 часов), когда приложение работает на пике ~ 30%. Загрузка ЦП. Использование памяти и IOP низкие и стабильные. Достаточно ли 30% использования, чтобы ожидать, что ответы проверки работоспособности превысят 5 секунд? Если да, существует ли стандартная практика определения тайм-аута проверки работоспособности?
Ответ на ваш вопрос должен быть расплывчатым. Ответ на вопрос 'Как определить правильный тайм-аут проверки работоспособности`? ' очень похоже на ответ на вопрос 'Какая задержка по-прежнему считается нормальной для моего приложения?'.
Общее руководство можно перефразировать следующим образом:
Определите приемлемую задержку для вашего приложения. В вашем случае мы можем предположить, что 50 секунд все еще приемлемы. Я бы счел это очень ненормальным, но, поскольку я не знаю вашего приложения, я работаю с ним.
Сначала установите тайм-аут немного больше, например, 55 секунд.
Загрузите тестовое приложение с нагрузкой, аналогичной производственной, и посмотрите, работает ли она для вас.
Внесите корректировки в свое приложение и проверьте работоспособность по мере необходимости, повторяйте, пока вы не будете удовлетворены результатами, и запустите его в производство.
Начните с 1.
Учитывая ваш второй вопрос об использовании ЦП: это зависит от вашего приложения. Запустите тесты, запустите тесты нагрузки, найдите горлышко бутылки, снимите горлышко бутылки.