nginx服务器cpu负载过高


分析考虑Nginx服务器作为客户端时创建了大量的TCP连接将随机端口号耗尽,导致Nginx创建新的TCP连接时循环端口号范围寻找不到可用随机端口号造成CPU空载循环,最终CPU高荷载的现象。但Nginx服务器的/proc//ipv4/ip_local_port_range值为9即随机端口号范围为到,合计有个随机端口号可以用,而当前监控显示服务器TCP连接最高就一万六千条连接,远远没有到随机端口号耗尽的情况。再看Nginx服务器的网络监控,发现宽带流量异常的高,入网和出网均跑到了150M的宽带,对比平时30M左右的流量带宽占用20%左右的CPU资源,150M的带宽导致了100%的CPU合乎情理。因此初步定为是异常流量导致Nginx的高荷载。解决:将H5页面的静态资源均上传到CDN上,并排查其他前端页面,保证Nginx服务器的网络资源不会被前端静态资源占用过多;对Nginx的日志进行日志收集,可以通过日志分析来快速定位异常的资源访问;