Создание постов через API маршрута: слишком много запросов

Мы проводим тестирование с участием нескольких пользователей: выполняем запросы по темам, создаём темы, а также добавляем ответы в темы. В середине теста маршрут создания сообщений начал возвращать код 429, и отвечать на темы стало невозможно. Однако другие маршруты запросов, включая маршрут создания темы (в данном случае они идентичны), работали нормально — разница лишь в атрибуте, который не вызывал ошибку 429.

Отметим, что наш персонализированный фронтенд обращается к нашему API, который выполняет все необходимые действия в Discourse; мы используем его как промежуточный слой для обработки данных. Все тесты проводятся с разными пользователями, при этом имя пользователя добавляется в заголовок маршрута. Единственным общим фактором остаётся IP-адрес сервера, на котором размещён промежуточный API.

Вопрос: почему ошибка 429 возникает только при создании сообщений, в то время как все остальные операции продолжают работать?

Я бы исследовал это в двух направлениях: количество запросов к API зависит от вашей скорости и количества подзапросов. Как вы обрабатываете ограничение скорости (rate limiting) на своей стороне?

Хм. Если вы получаете ошибку 429, вам следует подождать и повторить попытку. Я не вижу причин, по которым ваш API должен в таком случае завершаться с ошибкой.

Мы используем Discourse SaaS, поэтому я не знаю, можно ли настроить лимит запросов на IP-адрес. Не могли бы вы подсказать?

Но странное дело: возвращается ошибка 429, тогда как другие маршруты продолжают работать, даже когда я создаю тему. Если подумать, это тот же маршрут создания поста, просто с изменённым атрибутом.

Хотя, возможно, дело просто в ожидании. Поскольку мы проводим нагрузочное тестирование, некоторые маршруты вызываются перед созданием темы. После её создания вызывается маршрут для ответа, и возникает ошибка 429. Когда тест повторяется, через несколько секунд уже проходит необходимый интервал, и создание работает, но тогда ломается часть с ответом, которая всегда выполняется после создания.

Скорее всего, ошибка 429 при создании поста возникает не из-за чрезмерного количества запросов к API, поскольку другие запросы продолжают выполняться успешно, а из-за настройки сайта, например rate_limit_create_post.