У меня есть требование обрабатывать ~ 20k вызовов в секунду. Моя система обрабатывает списки ~ 1M записей и выполняет несколько заданий для каждого элемента. Это очень «всплеск» по своей природе, поскольку он не всегда обрабатывает список. Я добавил приложение Flex flex env (с Rails), используя автоматическое масштабирование, с конечной точкой тестирования, чтобы подождать 5 секунд и вернуться. Я нажимаю на тему pubsub, и push-подписка отправляется в App Engine. Запуск этого процесса достигает устойчивого 20-30 запросов в секунду.Производительность * путь * слишком медленный с pubsub push -> движок приложения
Я догадался, что проблема заключалась в взаимодействии алгоритма громкости pubsub push, взаимодействующего с движком App Engine, но затем я провел второй тест, где я просто взорвал запросы на завивки, как в цикле с несколькими процессами. Это также достигало 20-30 т/с.
Я застрял в этой точке и задаюсь вопросом, как действовать дальше. Как настроить систему на более высокую производительность? Мне нужно выполнение трех порядков от того, что я вижу.
Большое спасибо за помощь!
Так что сообщения, создаваемые в Паб/Суб? Можете ли вы опубликовать свойства масштабирования из вашего 'app.yaml'? Согласно [docs] (https://cloud.google.com/pubsub/subscriber): _Cloud Pub/Sub запускается путем отправки одного сообщения за раз и удваивает каждую успешную доставку, пока не достигнет максимального числа несоответствующих сообщений. Происходят ли ваши запросы, пока App Engine поддерживает новый экземпляр (помните, что это [slow on Flexible envs] (https://cloud.google.com/appengine/docs/the-appengine-environments)). – tx802
Кроме того, вы пробовали тестовую конечную точку, которая (а) не выполняет 5 секунд для запуска и (b) находится в чем-то вроде стандартной среды python (быстро масштабируется)? – tx802