歡迎您光臨本站 註冊首頁

nginx跑php-cgi會碰到502 Bad Gateway

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

nginx跑php-cgi會碰到502 Bad Gateway

http://bbs2.chinaunix.net/thread-1187040-1-1.html


用apache ab 在512M內存的as4機上測試
worker_processes 4;
<value name="max_children">20</value>

     fastcgi_connect_timeout 60;
     fastcgi_send_timeout 180;
     fastcgi_read_timeout 180;
     fastcgi_buffer_size 128k;
     fastcgi_buffers 4 128k;
     fastcgi_busy_buffers_size 128k;
     fastcgi_temp_file_write_size 128k;
     fastcgi_temp_path /dev/shm;


ab -n5000 -c1000 http://devwebapp.xxx.com/insert.php


Server Software:        nginx/0.6.32
Server Hostname:        devwebapp.xxx.com
Server Port:            80

Document Path:          /insert.php
Document Length:        3437 bytes

Concurrency Level:      1000
Time taken for tests:   77.981352 seconds
Complete requests:      5000
Failed requests:        663  
(Connect: 0, Length: 663, Exceptions: 0)
Write errors:           0
Non-2xx responses:      663
Total transferred:      16065252 bytes
HTML transferred:       14983962 bytes
Requests per second:    64.12 [#/sec] (mean)
Time per request:       15596.271 (mean)
Time per request:       15.596 (mean, across all concurrent requests)
Transfer rate:          201.18 received


     fastcgi_connect_timeout 30;


Server Software:        nginx/0.6.32
Server Hostname:        devwebapp.xxx.com
Server Port:            80

Document Path:          /insert.php
Document Length:        3437 bytes

Concurrency Level:      1000
Time taken for tests:   69.152495 seconds
Complete requests:      5000
Failed requests:        1281
   (Connect: 0, Length: 1281, Exceptions: 0)
Write errors:           0
Non-2xx responses:      1281
Total transferred:      14065785 bytes
HTML transferred:       13016286 bytes
Requests per second:    72.30 [#/sec] (mean)
Time per request:       13830.499 (mean)
Time per request:       13.830 (mean, across all concurrent requests)
Transfer rate:          198.63 received

我減少-c 到500和200 也會出現502,只是數量等比縮小了。
是fastcgi_connect_timeout 的問題?為什麼會這樣呢?除了增加超時時間外還有什麼辦法?
《解決方案》

我的設置是這樣的
    fastcgi_connect_timeout 500;
      fastcgi_send_timeout 500;
      fastcgi_read_timeout 500;

如果請求量很小的情況是否有好轉?
還有,你可以適當增加php-cgi的進程數量,我不知道你是怎麼啟動php-cgi的,我是用lighttd的那個東東啟動的。我啟動了32個。你試試看?
《解決方案》

我也遇到過,後來不用這個了,你看看日誌呢
《解決方案》

fastcgi,只要內存允許,進程數量盡量多就可以了
《解決方案》

502 bad gateway

1.我以前使用zeus web server也遇到過此類問題.問題當時是出現php本身安裝上或是PHP版本有問題,具體看一下錯誤信息.建議重新安裝php或是注意php關於fast-cgi補丁等.

2.如果實在不行.就是chinaittab.找一個安裝教程.使用新版本的nginx0.7.19+php-5.2+mysql-5.1,重新布置一下自己的環境.

[ 本帖最後由 todayhero 於 2008-11-24 16:30 編輯 ]

[火星人 ] nginx跑php-cgi會碰到502 Bad Gateway已經有360次圍觀

http://coctec.com/docs/service/show-post-26067.html