免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 12367 | 回复: 34
打印 上一主题 下一主题

[系统管理] nginx并发到1000就出现假死,然后重启就好了,看后台系统的流量图形很怪异见附件 [复制链接]

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-03-18 14:35 |只看该作者 |倒序浏览
本帖最后由 royzs 于 2016-03-18 14:35 编辑

看阿里云后台流量图形也很怪异,断断续续的,我怀疑就是程序假死,并发支撑不了超过1000,nginx并发不是4万么,求助求助


nginx_status内容如下
  1. Active connections: 951
  2. server accepts handled requests
  3. 428729 423504 796115
  4. Reading: 0 Writing: 40 Waiting: 911
复制代码
Active connections这个数值从来没超过1000过

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
的内容如下
  1. TIME_WAIT 18216
  2. CLOSE_WAIT 3
  3. SYN_SENT 2
  4. FIN_WAIT1 122
  5. ESTABLISHED 1065
  6. FIN_WAIT2 666
  7. SYN_RECV 7
  8. CLOSING 2
  9. LAST_ACK 48
复制代码

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
2 [报告]
发表于 2016-03-18 14:39 |只看该作者
网站运行运行着再看nginx_status就变成这样了,900多变成几百了
  1. Active connections: 510
  2. server accepts handled requests
  3. 528566 519322 966128
  4. Reading: 0 Writing: 510 Waiting: 0
复制代码

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
3 [报告]
发表于 2016-03-18 15:39 |只看该作者
网站速度也特别慢,我的nginx配置是这样的
  1. server {
  2.         listen       80;
  3.         server_name www.sc.com;
  4.         index index.html index.htm index.php;
  5.         root  /mnt/www/fanwe;

  6.     location / {
  7.         root  /mnt/www/fanwe;
  8.         index  index.html index.htm index.php;
  9.     }

  10.     location /ngx_status
  11.     {
  12.         stub_status on;
  13.         access_log off;
  14.     }

  15.     location ~ \.php$ {
  16.        root           html;
  17.        fastcgi_pass   127.0.0.1:9000;
  18.        fastcgi_index  index.php;
  19.        fastcgi_param SCRIPT_FILENAME    /mnt/www/fanwe$fastcgi_script_name;
  20.        include        fastcgi_params;
  21.     }

  22.         location ~ .*\.(php|php5)?$ {
  23.                 fastcgi_pass unix:/tmp/php-cgi.sock;
  24.                 fastcgi_index index.php;
  25.                 #include fcgi.conf;
  26.         }

  27.         location ~ .*\.(ico|jpg|jpeg|png|gif)$ {
  28.                 expires 1y;
  29.                 valid_referers none blocked www.sc.com *.google.com *.baidu.com;
  30.                 if ($invalid_referer) {
  31.                         return 404;
  32.                 }
  33.         }
  34. }
复制代码

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
4 [报告]
发表于 2016-03-18 19:04 |只看该作者
本帖最后由 lyhabc 于 2016-03-18 19:17 编辑

渣打银行            
TIME_WAIT 18216
TIME_WAIT 有点多喔
连接关闭后,进入TIME_WAIT状态,缺省时间是2分钟。之所以留这个时间,是为了让数据包能完全通过 各种规则的检查,也是为了数据包能通过拥挤的路由器,从而到达目的地。
服务器在等到客户端关闭连接

调节内核参数
Linux标准的发行版不可能知道你目前运行的网络环境,所以还得靠你自己利用可以调
节的内核参数动态优化TCP[IP栈。例如长连接会占用大量资源,在大并发的情况下,连接
过多将导致无数的连接失败。通常Apache采用短连接,nginx采用短连接,MySQI采用短
连接。但是短连接可能会导致TIME_ WAIT增多。TIME_WAIT的增多一般不会有太大的问题,但是大量的TIME—WAIT套接字也会把squid等网络应用给拖死。这时,调节几个内核参数就能搞定:
  1. tw:time_wait
  2. # ehc0 1> /proc/sys/net/ipv4/tcp_tw_reuse
  3. # ehc0 1>/proc/sys/net/ipv4/tcp_tw_recycle
  4. # ech0 6000>/proc/sys/net/ipv4/tcp_max_tw_buckets
复制代码
reuse是表示是否允许新的TCP连接重新应用处于TIME_WAIT状态的socket; recycle
是加速TIME_WAIT sockets回收;max _tw _buckets表示TIME_WAIT套接字的最大数量,如
果超过这个数字,TIME_WAIT饔接字将立刻被清除并打印警告信息。这些设置提高了处理
效率,还能把TIME_WAIT所占用内存控制在一定范围。

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
5 [报告]
发表于 2016-03-18 19:27 |只看该作者
TIME_WAIT 18216
CLOSE_WAIT 3
SYN_SENT 2
FIN_WAIT1 122
ESTABLISHED 1065
FIN_WAIT2 666
SYN_RECV 7
CLOSING 2
LAST_ACK 48

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
6 [报告]
发表于 2016-03-18 22:24 |只看该作者
回复 4# lyhabc


    tw:time_wait
# ehc0 1> /proc/sys/net/ipv4/tcp_tw_reuse
# ehc0 1>/proc/sys/net/ipv4/tcp_tw_recycle
# ech0 6000>/proc/sys/net/ipv4/tcp_max_tw_buckets

前两个参数都改过的,最下面的那个参数最开始是5000,不够用,系统一直报错kernel: TCP: time wait bucket table overflow
我给调成了2万,3万都不行,最后改成5万不再报错了,但是现在网站还是不稳定,刚启动nginx的时候看并发连接从一两百一直涨到900多1000多点,过几分钟或者半小时nginx就假死了,出现502,重启之后又是循环,所以流量图形里面显示断断续续的

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
7 [报告]
发表于 2016-03-19 10:53 |只看该作者
神马版本的nginx?
是不是阿里云参数设置问题?

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
8 [报告]
发表于 2016-03-19 10:56 |只看该作者
worker_processes 1;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 6000;
}

nginx.conf 你这里设置是多少?

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
9 [报告]
发表于 2016-03-19 19:40 |只看该作者
本帖最后由 royzs 于 2016-03-19 20:22 编辑

回复 7# lyhabc


    nginx 1.8.0

阿里云的sysctl.conf我改过,贴一下出来
  1. # sysctl -p
  2. net.ipv4.ip_forward = 0
  3. net.ipv4.conf.default.accept_source_route = 0
  4. kernel.sysrq = 0
  5. kernel.core_uses_pid = 1
  6. kernel.msgmnb = 65536
  7. kernel.msgmax = 65536
  8. kernel.shmmax = 68719476736
  9. kernel.shmall = 4294967296
  10. vm.swappiness = 0
  11. net.ipv4.neigh.default.gc_stale_time = 120
  12. net.ipv4.conf.all.rp_filter = 0
  13. net.ipv4.conf.default.rp_filter = 1
  14. net.ipv4.conf.default.arp_announce = 2
  15. net.ipv4.conf.all.arp_announce = 2
  16. net.ipv4.tcp_max_tw_buckets = 6000
  17. net.ipv4.tcp_sack = 1
  18. net.ipv4.tcp_window_scaling = 1
  19. net.core.wmem_default = 8388608
  20. net.core.rmem_default = 8388608
  21. net.core.rmem_max = 16777216
  22. net.core.wmem_max = 16777216
  23. net.core.somaxconn = 262144
  24. net.ipv4.tcp_max_orphans = 3276800
  25. net.ipv4.tcp_max_syn_backlog = 262144
  26. net.ipv4.tcp_timestamps = 0
  27. net.ipv4.tcp_synack_retries = 1
  28. net.ipv4.tcp_syn_retries = 1
  29. net.ipv4.tcp_tw_recycle = 1
  30. net.ipv4.tcp_mem = 94500000 915000000 927000000
  31. net.ipv4.tcp_fin_timeout = 1
  32. net.ipv4.tcp_keepalive_time = 30
  33. net.ipv4.ip_local_port_range = 1024 65000
  34. net.ipv4.tcp_syncookies = 1
复制代码
net.ipv4.tcp_max_tw_buckets = 6000
的时候并发1000就开始假死,我改成50000后勉强4000多并发就不行了

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
10 [报告]
发表于 2016-03-19 19:42 |只看该作者
回复 8# lyhabc


nginx.conf我的配置是这样的
  1. worker_processes 16;
  2. worker_cpu_affinity 0000000000000001 0000000000000010 0000000000000100 0000000000001000 0000000000010000 0000000000100000 0000000001000000 0000000010000000 0000000100000000 0000001000000000 0000010000000000 0000100000000000 0001000000000000 0010000000000000 0100000000000000 1000000000000000;

  3. error_log  /var/log/nginx/error.log crit;
  4. pid        /var/run/nginx.pid;
  5. worker_rlimit_nofile 65535;

  6. events {
  7.     use epoll;
  8.     worker_connections  65535;
  9. }
复制代码

评分

参与人数 1信誉积分 +5 收起 理由
action08 + 5 很给力! worker_cpu_affinity这个学习一下.

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP