Решения динамического планировщика экземпляров не основаны на использовании памяти экземпляра.Из Масштабирование динамических экземпляров :
Планировщик App Engine решает, следует ли обслуживать каждый новый запрос существующим экземпляром (либо тот, который находится в режиме ожидания, либо принимает параллельные запросы), поместите запросв очереди ожидающих запросов или запустите новый экземпляр для этого запроса.Решение принимает во внимание количество доступных экземпляров, как быстро ваше приложение обслуживает запросы (его задержку) и сколько времени требуется для запуска нового экземпляра.
Все сообщения об ошибках, которые вы получилипоказывает очень низкое число запросов, обрабатываемых до возникновения ошибки, что указывает на то, что нехватка памяти очень сильна.
Что не ясно, так это высокий уровень использования памяти из-за одного запроса илисвязанные с несколькими одновременными запросами - то есть запросы, попадающие в экземпляр одновременно (или слишком близко друг к другу, чтобы механизм освобождения памяти, если таковой имеется, не отставал).Но это может быть определено экспериментально.
Если множественные одновременные входящие запросы приводят к тому, что использование памяти экземпляра превышает пороговое значение, вы можете попытаться справиться с ним, управляя ручками target_throughput_utilization
и / или max_concurrent_requests
:
Целевое использование пропускной способности
Устанавливает порог пропускной способности для числа одновременных запросов, после которого будет запущено больше экземпляров для обработки трафика.
Максимальное количество одновременных запросов
Устанавливает максимальное количество одновременных запросов, которые экземпляр может принять до того, как планировщик запускает новый экземпляр.
Если предел памяти достигает даже безэкземпляр, обрабатывающий несколько запросов одновременно (или, если вы хотите иметь возможность обслуживать больше экземпляров одновременно - как правило, для снижения затрат), единственный способ решить его - использовать классы экземпляров с большим объемом памяти.Классы F4
и B4
, которые вы пробовали, имеют 512M, попробуйте F4_1G
/ B4_1G
, оба из которых имеют 1G.