我一直在整天處理這個問題,這讓我瘋狂。所有谷歌的搜索結果和搜索都會導致死衚衕。我希望有人能和我一起爲自己和未來的受害者提供解決方案。開始了。NGINX + PHP5-FPM在高負載下發生段錯誤
我正在運行一個非常受歡迎的網站,每天有超過3M頁面瀏覽量。平均而言,每秒鐘的頁面瀏覽量爲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。好吧,現在最後是郵件的肉,這裏是我的錯誤日誌。有一堆這些錯誤記錄。
/無功/日誌/ PHP5-FPM
14年7月20日:49:47.289895 [注意] FPM運行,PID 29373
14年7月20日:49:47.337092 [注意]準備處理連接
Jul 20 14:51:23.957504 [錯誤] [池www]無法檢索一個或多個子項(ren)的進程活動。稍後再試。
14年7月20日:51:41.846439 [警告] [池WWW]孩子29534與代碼1退出從開始
114.518174秒後14年7月20日:51:41.846797 [注意] [池WWW]孩子29597開始
14年7月20日:51:41.896653 [警告] [池WWW]孩子29408上信號退出11 SIGSEGV從開始
114.596706秒後14年7月20日:51:41.897178 [注意] [池WWW]孩子29598開始
Jul 20 14:51:41.903286 [警告] [池WWW]孩子29398與代碼1退出從開始
114.605761秒後14年7月20日:51:41.903719 [注意] [池WWW]孩子29600開始
14年7月20日:51:41.907816 [警告] [池WWW]孩子29437與代碼1退出從開始
114.601417秒後14年7月20日:51:41.908253 [注意] [池WWW]孩子29601開始
14年7月20日:51:41.916002 [警告] [pool www]小孩29513從開始114.592514秒後退出,並顯示代碼1
14年7月20日:51:41.916501 [注意] [池WWW]孩子29602開始
14年7月20日:51:41.916558 [警告] [池WWW]孩子29494退出上信號從開始
114.597355秒後11 SIGSEGV14年7月20日:51:41.916873 [注意] [池WWW]孩子29603開始
14年7月20日:51:41.921389 [警告] [池WWW]孩子29502 114之後與代碼1退出。從開始600405秒
/var/log/nginx/error.log 2011/07/20 15時48分42秒[錯誤] 29583#0:* 569743 readv()失敗(104:連接重置由當讀取上游時,客戶端:77.223.197.193,server:domain.com,請求:「GET /favicon.ico HTTP/1.1」,上游:「fastcgi://127.0.0.1:9000」,主機:「www。 domain.com「
2011/07/20 15:48:42 [error] 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 [error] 29581#0:* 571050 readv()失敗(104:由對等方重置連接)讀取上游時,客戶端:110.136.157.66,server:domain.com,請求: 「GET/page HTTP/1.1」,上行:「fastcgi://127.0.0.1:9000」,主機:「www.domain.com」
2011/07/20 15:48:42 [error] 29581 #0:* 564892 readv()失敗(104:通過對等方重置連接)讀取上游時,客戶端:110.136.161.214,server:domain.com,請求:「GET/page HTTP/1.1」,上游:「fastcgi:/ /127.0.0.1:9000「,主機:」www.domain.com「
2011/07/20 15:48:42 [error] 29585#0:* 456171 readv()failed(104:Connection reset by同時讀取上游,客戶端: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 [error] 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 [error] 29580#0:* 570132 readv()失敗(104:由對等方重置連接)讀取上游時,客戶端:180.246.182.191,server:domain.com,請求:「 GET/page HTTP/1.1「,上游:」fastcgi://127.0.0.1:9000「,主機:」www.domain.com「
最後,我想指出我曾嘗試禁用PHP- APC看看它是否是一個選擇cacher的bug ,但segfaults仍然存在。我也安裝了PHP5-SUHOSIN,我也禁用了它,但錯誤仍在繼續。
你使用的是哪個版本的php ...你是說你已經安裝了apc然後給我們你apc配置或pastebin你的php.ini和php-fpm.conf文件的詳細信息,這將幫助我們幫助你 –
嗨,Aco,你有沒有找到解決你的問題?令人沮喪的是,你從php-fpm得到的唯一錯誤是seg故障。 – Bretticus