V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
taoyantu
V2EX  ›  NGINX

请教大神们。有个问题,日志报 no more than 1024 processes can be spawned !

  •  1
     
  •   taoyantu · 2016-11-07 12:02:51 +08:00 · 3687 次点击
    这是一个创建于 2931 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位大神,公司在压力测试的时候,刚开始 Nginx 一切处理正常,突然就不在响应任何请求了。业务日志(每个域名的业务日志),没有任何数据。 error 日志里面,报 2016/11/05 00:02:41 [alert] 6787#0: no more than 1024 processes can be spawned ,然后 Nginx 就只剩下主进程,没有任何 worker process 了。重启以后恢复正常。
    请各位大神指点一下,这个是什么问题啊。。版本是 nginx version: openresty/1.9.15.1
    跪求各位解答啊!
    7 条回复    2016-11-11 22:54:58 +08:00
    sfwn
        1
    sfwn  
       2016-11-07 13:33:34 +08:00
    我也没具体研究过,按照你这个日志里的说法就是 nginx 不能生产超过 1024 个 worker 进程,所以说 nginx 被你压挂了。
    sfwn
        2
    sfwn  
       2016-11-07 13:34:41 +08:00
    重启后恢复正常,还是用刚才的压力去测的话,要不了多久照样 nginx 会挂。这个负载临界点就是优化的方向了。
    rrfeng
        3
    rrfeng  
       2016-11-07 14:13:40 +08:00
    ulimit

    另外 worker process 配置了多少?居然有 1024 个? 1024 核的服务器吗……
    taoyantu
        4
    taoyantu  
    OP
       2016-11-07 14:36:34 +08:00
    @rrfeng @sfwn 我们的 worker process 是配置的 24 个 。 也不清楚为什么会报这个错误。
    目前分析出一个原因可能是 我们在 0 点 01 分附近,定时任务日志切割,我们大约有 60 份域名的配置文件,每次备份完一个日志路径后 会 reload nginx 。不知道 nginx 的 源码是怎么判断的。。是否可能因为压测加上 频繁 reload ,导致出现问题,如果前面的 worker 进程还在处理数据,再把 nginx reload nginx 会如何处理。如果等待之前的处理的话,可能进程大于 Nginx 默认的 1024 个进程。
    rrfeng
        5
    rrfeng  
       2016-11-07 15:05:53 +08:00
    60 个域名每个单独 reload ?

    那怪不得。一次性全切了吧……
    Blask
        6
    Blask  
       2016-11-08 10:26:43 +08:00
    reload 的时候之前的 worker process 不会马上结束, 但是会生成新的 24 个 worker process, 60 次 reload 的话很容易超过 1024, 试试把 worker process 调到 16 个左右
    taoyantu
        7
    taoyantu  
    OP
       2016-11-11 22:54:58 +08:00
    @Blask 大神,你的看法和我一样。。但是我不敢确定我的想法。。没读过源代码。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1987 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:26 · PVG 08:26 · LAX 16:26 · JFK 19:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.