2012-01-12 6 views
0

Nginx/FastCGIの専門家がいますか?常にNginx/FastCGIがクラッシュする

私はMono FastCGIを扱うDebian Squeeze(fastcgi-mono-server4 2.10.2.0)でnginx 1.0.11を実行しています。 FastCGIインスタンスが〜350,000バイトを超えるPOST要求に応答して頻繁にクラッシュすることに気づいています。この規模の要求がうまくいくものの、トラフィックが増加すると失敗する可能性が高くなります。さらに、FastCGIインスタンスに障害が発生すると、Nginxワーカープロセスがゾンビ化されることがあります(Nginxは依然としてリクエストを処理しますが、タイムアウトします。すべてのゲートウェイがダウンしていても502は返されません)。私はNginxのデバッグをオンにして、ワーカープロセスとFastCGIインスタンスがクラッシュする前に次のことに気付きました。

2012/01/11 20:38:42 [debug] 1744#0: *141 writev: 8 
2012/01/11 20:38:42 [debug] 1744#0: *141 sendfile: @360448 32768 
2012/01/11 20:38:42 [debug] 1744#0: *141 sendfile: 32768, @360448 32768:32768 
2012/01/11 20:38:42 [debug] 1744#0: *141 writev: 8 
2012/01/11 20:38:42 [debug] 1744#0: *141 sendfile: @393216 12167 
2012/01/11 20:38:42 [debug] 1744#0: *141 sendfile: 12167, @393216 12167:12167 
2012/01/11 20:38:42 [debug] 1744#0: *141 writev: 9 
2012/01/11 20:38:42 [debug] 1744#0: *141 chain writer out: 0000000000000000 
2012/01/11 20:38:42 [debug] 1744#0: *141 event timer del: 16: 1326314382071 
2012/01/11 20:38:42 [debug] 1744#0: *141 event timer add: 16: 60000:1326314382072 

これはあくまで過去10回記録されたものですが、さらにご覧になりたい場合は、必ず投稿してください。最後に、ここに私のNginx設定ファイルがあります。

user     www-data; 
worker_processes  2; 
worker_rlimit_nofile 8192; 
events { 
    worker_connections 2048; 
    use     epoll; 
} 

http { 
    error_log    /var/log/error.log; 
    include     mime.types; 
    default_type   application/octet-stream;   
    sendfile    on; 
    keepalive_timeout  65; 

    gzip    on; 
    gzip_http_version 1.1; 
    gzip_vary   on; 
    gzip_comp_level 6; 
    gzip_proxied  any; 
    gzip_types  text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js font/opentype application/font-woff; 
    gzip_buffers  16 8k; 
    gzip_disable  "MSIE [1-6]\.(?!.*SV1)"; 

    upstream backend { 
     server 127.0.0.1:8080; 
     server 127.0.0.1:8081; 
    } 

    server { 
     listen  80; 
     server_name my_server; 
     root   /var/www; 
     access_log /var/log/host.access.log; 

     location/{ 
      fastcgi_param   SCRIPT_FILENAME /scripts$fastcgi_script_name; 
      include     fastcgi_params; 
      fastcgi_pass    backend; 
      fastcgi_next_upstream http_500 http_404 error timeout; 
      fastcgi_read_timeout  60; 
     } 

     location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm)$ { 
      root /var/www; 
     } 
    } 
} 
+0

私のワーカープロセスがシグナル9で終了していることをエラーログレポートは、信号9精通誰ですか?これはどういう意味ですか? – rposky

答えて

関連する問題