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