【问题标题】:NGINX + PHP5-FPM segfaults under high loadNGINX + PHP5-FPM 高负载下的段错误
【发布时间】:2011-10-09 18:23:45
【问题描述】:

我整天都在处理这个问题,这让我发疯了。此处的所有 Google 结果和搜索都会导致死胡同。我希望有人能和我一起为我自己和未来的受害者提供解决方案。我们开始吧。

我正在运行一个非常受欢迎的网站,每天的页面浏览量超过 300 万。平均每秒浏览量为 34 次,但更现实的是,在高峰时段,每秒浏览量超过 300 次。将这些视为请求。

我正在运行具有 2 个 E5620 CPU、12GB RAM 和 Micron P300 6Gb/s SSD 的 Ubuntu 10.04 64 位服务器。在高峰时段,CPU 和内存负载平均(使用 20-30% 的 CPU 和一半的内存)。

支持该站点的软件是:NGINX、MySQL、PHP5-FPM、PHP-APC 和 Memcached。好的,现在终于是帖子的内容了,这是我的错误日志。记录了很多这样的错误。

/var/log/php5-fpm

7 月 20 日 14:49:47.289895 [注意] fpm 正在运行,pid 29373

7 月 20 日 14:49:47.337092 [通知] 准备好处理连接

7 月 20 日 14:51:23.957504 [错误] [池 www] 无法检索一个或多个孩子的进程活动。稍后再试。

7 月 20 日 14:51:41.846439 [警告] [pool www] 孩子 29534 在开始后 114.518174 秒后以代码 1 退出

7 月 20 日 14:51:41.846797 [通知] [池 www] 孩子 29597 开始

7 月 20 日 14:51:41.896653 [警告] [pool www] 子 29408 在开始后 114.596706 秒后退出信号 11 SIGSEGV

7 月 20 日 14:51:41.897178 [NOTICE] [pool www] child 29598 开始

7 月 20 日 14:51:41.903286 [警告] [pool www] 孩子 29398 在开始后 114.605761 秒后以代码 1 退出

7 月 20 日 14:51:41.903719 [NOTICE] [pool www] child 29600 开始

7 月 20 日 14:51:41.907816 [警告] [pool www] 孩子 29437 在开始后 114.601417 秒后以代码 1 退出

7 月 20 日 14:51:41.908253 [通知] [池 www] 孩子 29601 开始

7 月 20 日 14:51:41.916002 [警告] [pool www] 孩子 29513 在开始后 114.592514 秒后以代码 1 退出

7 月 20 日 14:51:41.916501 [通知] [池 www] 孩子 29602 开始

7 月 20 日 14:51:41.916558 [警告] [pool www] 子 29494 在开始后 114.597355 秒后退出信号 11 SIGSEGV

7 月 20 日 14:51:41.916873 [NOTICE] [pool www] child 29603 开始​​

7 月 20 日 14:51:41.921389 [警告] [pool www] 孩子 29502 在开始后 114.600405 秒后退出,代码为 1

/var/log/nginx/error.log 2011/07/20 15:48:42 [错误] 29583#0: *569743 readv() 在读取上游时失败(104:对等方重置连接),客户端:77.223.197.193,服务器:domain.com,请求:“ GET /favicon.ico HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“www.domain.com”

2011/07/20 15:48:42 [错误] 29578#0: *571695 readv() 在读取上游时失败(104:对等方重置连接),客户端:150.70.64.196,服务器:domain.com,请求:“GET /page HTTP/1.0”,上游:“fastcgi://127.0.0.1:9000”,主机:“www.domain.com”

2011/07/20 15:48:42 [错误] 29581#0: *571050 readv() 在读取上游时失败(104:对等方重置连接),客户端:110.136.157.66,服务器:domain.com,请求:“GET /page HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“www.domain.com”

2011/07/20 15:48:42 [错误] 29581#0: *564892 readv() 在读取上游时失败(104:对等方重置连接),客户端:110.136.161.214,服务器:domain.com,请求:“GET /page HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“www.domain.com”

2011/07/20 15:48:42 [错误] 29585#0: *456171 readv() 在读取上游时失败(104:对等方重置连接),客户端:93.223.33.135,服务器:domain.com,请求:“GET /favicon.ico HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“www.domain.com”

2011/07/20 15:48:42 [错误] 29585#0: *471192 readv() 在读取上游时失败(104:对等方重置连接),客户端:74.90.33.142,服务器:domain.com,请求:“GET /page HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“www.domain.com”

2011/07/20 15:48:42 [错误] 29580#0: *570132 readv() 在读取上游时失败(104:对等方重置连接),客户端:180.246.182.191,服务器:domain.com,请求:“GET /page HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“www.domain.com”

最后,我想指出我确实尝试禁用 PHP-APC 以查看它是否是 opt 缓存器的错误,但段错误仍然存​​在。我也安装了 PHP5-SUHOSIN,我也禁用了它,但错误仍然不断发生。

【问题讨论】:

  • 您使用的是哪个版本的 php...您是说您已经安装了 apc 然后给我们您的 apc 配置的详细信息或将您的 php.ini 和 php-fpm.conf 文件粘贴到这将帮助我们帮助您
  • 嗨,Aco,您找到解决问题的方法了吗?令人沮丧的是,您从 php-fpm 得到的唯一错误是 seg 错误。

标签: nginx segmentation-fault fastcgi apc php


【解决方案1】:

这个问题刚刚发生在我身上。

PHP5-FPM 的大部分子代都存在段错误。在我的例子中,我们在硬盘上有 0bytes 可用。快速的日志粉碎停止了段错误。

【讨论】:

    【解决方案2】:

    2011/07/20 15:48:42 [错误] 29583#0: *569743 readv() 在读取上游时失败(104:对等方重置连接),客户端:77.223.197.193,服务器:domain.com,请求:“GET /favicon.ico HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“www.domain.com”

    这只是上游服务器/路由器/客户端重置配置的一些问题? 的 nginx 放弃​​了请求,但以您描述的负载的 3 倍运行站点

    对于 php-fpm 消息 孩子们似乎在 114 秒限制后停止,这是您的 php.ini 文件设置的限制吗? php中的seg错误经常发生在使用高内存时,您的php脚本可能会泄漏内存并最终达到内存限制,让php-fpm进程服务较少的请求有助于处理内存泄漏

    【讨论】:

    • 我将 memory_limit 设置为更高的值并且它起作用了。
    【解决方案3】:

    在此处查看与您的问题相关的我的答案(关于 nginx + magento 和高负载)

    NGINX-FPM configuration settings for magento

    这不是一个直接的答案,但它可以帮助您配置您的 nginx + php-fpm 以帮助消除故障。

    【讨论】:

      【解决方案4】:

      您可能正在使用 suhosin 禁用 /etc/php5/fpm/conf.d 下的 suhosin.ini 并重启 php5-fpm 服务

      检查 suhosin 版本并尝试安装另一个。

      【讨论】:

        猜你喜欢
        • 2012-02-05
        • 2012-05-15
        • 1970-01-01
        • 2014-03-27
        • 2014-07-07
        • 2013-11-30
        • 2015-05-26
        • 2014-11-27
        • 2016-02-24
        相关资源
        最近更新 更多