【发布时间】:2020-04-07 01:11:27
【问题描述】:
我有一个服务在低端机器上运行(在Nginx 后面),CPU 性能相当弱。其中一个 API 需要大量 CPU 时间,因此需要限制最大并发请求。但是如果请求被缓存,它的响应速度会快很多。
我想要做的是限制发送到特定 API 的后端服务的最大并发连接数。我研究了limit_req 和limit_conn,但它们都不符合我的情况。 limit_req 可能会导致高负载(太多未命中)或低负载(大部分请求被缓存时),不容易确定值。而limit_conn 将丢弃其余的请求(我希望它们排队)。
目前,我正在使用 apache2 mpm 模块,但它限制了所有请求。
是否可以让 Nginx 保持最大连接数而让其他人等待?
【问题讨论】:
标签: nginx rate-limiting nextcloud