Nginx调整(一)


某日,检查业务服务器ing.....

top.......nginx的进程哪里去了?

ps -ef | grep nginx

发现master和workers都在,但是top中没有找到,感觉应该是进程还在,但是没有工作了.....

遂去日志里面确认了一下,发现访问日志没有刷屏.........

当年作为一个菜鸟,也没有仔细检查错误日志...........直接netstat -ant |grep 80,发现刷了很久的连接信息,于是查看了一下各种状态的连接数

netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}

发现ESTABLISHED的数量到了15000+,TIME_WAIT
的数量到了30000+..........

于是检查nginx的nginx.conf配置,发现nginx的配置全部都是默认配置.......

之后分析业务的特点,把nginx的一些超时时间设置得比较短
              proxy_connect_timeout 15;
              proxy_send_timeout 15;
              proxy_read_timeout 15;
              keepalive_timeout 60;
              client_body_timeout 30;
              client_header_timeout 30;
              sendfile on;
              tcp_nodelay on;
              fastcgi_connect_timeout 30;
              fastcgi_send_timeout 30;
              fastcgi_read_timeout 30;
              fastcgi_intercept_errors on;
              proxy_ignore_client_abort on;
打开这个选项是因为有些用户会反复点击,发送同一个请求,所以在忽略安全隐患的前提下,让nginx处理这些请求

上一篇:oracle状态查询(补)


下一篇:spfile和pfile的那点事