作者回复: 这是因为请求处理太快了。我的例子上加了一个limit_rate 50;表示每秒只发送50字节给客户端,所以请求处理很慢,容易触发limit_conn的限制。
在实际生产环境下有大量并发连接,不需要这样。
作者回复: rewrite模块的set指令可以设置新的变量
作者回复: 1、通常是基于IP来限制的,但你可以根据自己的业务,选择任意的变量来限制连接。
2、是的。
作者回复: 是的
作者回复: 流控针对功能,而功能都是基于URI的,而rewirte阶段的规则会修改URI。 URI只是标识符,rewirte后才面向真实的资源,故要在rewrite阶段之后。
作者回复: 并发意味着同时有多个TCP连接,例如你的response body特别大的话,就比较容易重现
作者回复: 不是,这条日志的级别越低,例如配成info,这样当error_log notice时,这条日志就不会打印出了。这里不是在设置error_log的阈值级别,而是设日志的重要性程度
作者回复: rate需要匹配产品设计策略,或者结合运营收入和运维带宽成本来分析。burst设置多大合适,只与产品设计和场景有关,没有统一参考值的。
作者回复: 可以使用第38课介绍过的slab_stat,监控fails指标以及共享内存slab已用量
作者回复: 跨主机通讯?nginx模块并不支持,你可以考虑openresty+redis的方案,其中redis集群作中心存储,key是客户端标识,value是当前并发连接数。
作者回复: 这是limit_conn模块的日志,在限连接
作者回复: 对的