Почему не выставить задержку исходя из доступных мощностей сервера поделённых на кол-во работников на линии?
Сперва измеряем верхнее значение, например максимальный RPS (запросов в секунду) который может держать сервер без сбоев. Предположим это 1000 rps. Далее устанавливаем предельное значение, например 80% от максимального готовы всегда держать под этот вид запросов. Итого имеем 800 rps. Исходя из этого расчитываем задержку для каждого пользователя. Делаем автоматический перерасчёт задержки каждую минуту или через любой подходящий интервал времени.
Идея не такая уж бредовая, как может показаться. Например ВК в своей ленте новостей при высоких нагрузках могут выключать автоподгрузку, и включать кнопку "показать ещё" для того чтобы снизить rps.
Единственный вариант когда это может не подойти, если у вас тарификация и оплата сервера по факту испольуземых ресурсов (iops'ы, cpu time и тд). В остальных случаях если есть сервер - пусть работает на максимум своих возможностей.