tomcat、gunicorn、uwsgi在大量并发时,遇到普遍的问题是502 504问题;
说到502,我们知道后端处理过慢需要扩展worker
socket 内部是有两个队列,一个syn队列,一个是accept队列,这两个队列都在accept()之间就有了。 backlog是syn和accept队列之和。当后端处理不及时,backlog又到限制时,会出现502,也就是说新的客户端不能建立,因为没有syn的槽位供你三次握手。
https://www.iteye.com/blog/yunjianfei-2263946
https://xnathan.com/2019/05/07/nginx-502/
http://veithen.io/2014/01/01/how-tcp-backlog-works-in-linux.html