2、超时丢弃:这里的超时是指请求从进入接收缓存区到接口从缓存区取出请求准备处理的时间超过了一定阈值(比如前端超时时间)。如果发生超时,则说明就算处理了取出的数据,前端也已经超时了,后端接口做的就是无用功,倒不如就在这里一次性丢弃。这里的缓存区指的是内核缓存区。
3、修改socket缓存区大小:根据接口处理能力和前端超时时间来设置socket缓存区大小,这样的话利用socket缓存区充当队列,超过队列长度的请求就直接被丢弃了,这样也可以防止系统雪崩。只是对用户不那么友好。有人给出的参考计算式:缓冲区大小=(前端超时时间-请求处理时间-前端网络延时*2)*(每秒最大处理请求数/1000)*请求包大小。