【发布时间】: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