单核1g云主机2M带宽,nginx监听443端口,反代理请求到服务。
upstream_response_time很高,导致返回超时。
vmstat 后发现,一直有一个进程被阻塞。ps aux看到nginx worker process保持占用cpu 98%以上。
netstat查tcp连接状态,last_ack超高。
修改net.ipv4.tcp_syncookies为0后last_ack数量降到正常范围。
nginx cpu占用也下去了,最后服务不再超时。
本来网络状态就不好,带宽很容易就跑满了,此时syc_cookie再一直发,那就雪上加霜了。