Я выполняю нагрузочное тестирование в приложении ExpressJS, размещенном в Google Cloud Run, при резком увеличении трафика наблюдается период, когда я вижу много 500 ошибок в Stackdriver с сообщением «Запрос не выполнен, так как экземпляр не может запуститьсяуспешно."- что фактически приводит к простою сервера.
Учитывая, что эта ошибка возникает чаще по мере масштабирования приложения, я думаю, что это вызвано балансировщиком нагрузки Cloud Run, который преждевременно назначает трафик новым экземплярам, прежде чем эти экземплярыготовы принимать запросы.
По мере того, как я продолжаю выполнять нагрузочное тестирование, экземпляры постоянно и многократно уничтожаются и перезапускаются, поэтому не существует механизма восстановления при включенной загрузке.
Я не вижу никаких журналов ошибок из моего приложения NodeJS, указывающих на то, что ни один из неудавшихся запросов фактически не достиг моего приложения.
Что я могу сделать, чтобы избежать этих ошибок?
Как определяет Cloud Runчто порт готов к приему запросов?
Это что-то, что я неправильно настроил в своем приложении ExpressJS, или я могу как-то немного задержать Cloud Run перед отправкой запросов новому экземпляру?