Когда Cloud Run получает и обрабатывает запросы быстро, он прогнозирует, сколько экземпляров ему нужно, и попытается масштабировать до суммы. Если произойдет внезапный выброс запросов, Cloud Run создаст большее количество экземпляров в качестве ответа. Это делается для того, чтобы приспособиться к возможному большему количеству сетевых запросов, помимо тех, которые он обслуживает в настоящее время, с попытками учесть, сколько времени потребуется существующему экземпляру для завершения загрузки запроса. Согласно документации , возможно, что количество экземпляров контейнера может go превышать максимальное значение экземпляра, когда оно достигает пика.
Вы упомянули с max-instance, установленным в 1, он работал нормально, но позже вы упомянули, что на самом деле он производил 429 с его установленным также 1. Наблюдение за поведением 429-х, а также всплесками экземпляров может указывать на то, что объем трафика c не обрабатывается плавно.
Стоит также отметить, из-за времени холодного запуска, о котором вы упоминаете, когда экземпляры при обработке первого (ых) запроса (ов) по заданному плану число параллельных запросов фактически устанавливается равным 1. После того, как все полностью готово, применяется только выбранный вами параметр параллелизма.
Была ли какая-то конкретная c причина, по которой вы выбрали 3 и 3 для параметров Max Instance и параллелизма? Также, как был установлен параллелизм, когда у вас был установлен максимальный экземпляр 1? Возможно, вы могли бы попытаться еще больше улучшить параллелизм (максимум 80) и / или Макс. Экземпляры (верхний предел до 1000) и посмотреть, удаляет ли это 429-е.