nginx は fastcgi に送信する前にデータをバッファリングします

nginx は fastcgi に送信する前にデータをバッファリングします

私の nginx サーバーは、クライアントから POST されたすべてのデータをバッファリングし、すべてのデータが揃うと、そのデータを fastcgi ソケットに書き込みます。この遅延を回避し、クライアントからデータを受信するとすぐに fastcgi がビットごとにデータを受信し始めるようにするにはどうすればよいでしょうか。fastcgi の設定を試してみましたが、うまくいきませんでした。ありがとうございます。

答え1

私の知る限りこれは不可能だ

1) client_body_buffer_size は、クライアントのリクエスト バッファ サイズを処理するディレクティブです。これは、フォームの送信、ファイルのアップロードなど、POST データを処理するために使用されます。

http://wiki.nginx.org/HttpCoreModule#クライアントボディバッファサイズ

リクエスト本体のサイズがバッファ サイズより大きい場合、リクエスト本体全体 (または一部) が一時ファイルに書き込まれます。

2) fastcgiではバッファリングを無効にすることはできません。Maxim Douninがここで詳しく説明しています。http://www.ruby-forum.com/topic/197216

関連情報