У меня есть служба, работающая на машине низкого уровня (за Nginx
), и производительность процессора довольно низкая. Один из API требует много процессорного времени, поэтому необходимо ограничить максимальное количество одновременных запросов. Но если запрос кэширован, он может ответить намного быстрее.
Я хочу ограничить максимальное количество одновременных подключений, отправляемых серверной службе для определенного API. Я исследовал limit_req
и limit_conn
, но ни один из них не подходит для моего случая. limit_req
может вызвать высокую нагрузку (слишком много пропусков) или низкую нагрузку (когда большинство запросов кэшируется), значение определить непросто. Пока limit_conn
отбросит остальные запросы (я хочу, чтобы они были поставлены в очередь).
В настоящее время я использую модуль apache2 mpm
, но он ограничивает все запросы.
Можно ли заставить Nginx поддерживать максимальное количество подключений и заставлять остальных ждать?