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 編輯 ]