nginx+php-fpm最適化post性能


詳細
POSTがWebサーバに到着すると、Webサーバはデータを受信した後、FastCGIプロセスにデータをコピーします.これにより、コピーオーバーヘッドとメモリの使用が1回多くなり、無駄になり、POSTデータが大きいほど明らかになります(アップロードを含む).nginxはファイルで転送することを許可し、nginxはまずブラウザPOSTからのデータをファイルに保存し、FastCGIプロセスに転送するとき、ファイルパスを通じてデータ(アップロードを含む)を転送し、POST性能を向上させる.
しかし、phpはこのようなデータ伝達方式をサポートしていないため、nginxだけでは不十分である.したがって、phpにパッチを適用する必要があります.php-fpmはphpのFastCGIマネージャであり、php-fpmはこのようなファイルがデータを転送する方法をサポートしています.
ここまで言うと、bbsでnginxがpost静的ファイルをサポートしていないという議論を見たことがあります.
nginxの場合fastcgi_が設定されていない場合passはいずれも接尾辞で判断するのではなく静的ファイルである.処理能力を備えていない静的ファイルではpostは意味がありません.また、nginxはファイル方式でpostデータを転送することをサポートしているため、ファイルのクリアはバックエンドプログラムによって処理される可能性があります.post静的ファイルを許可し、大量のゴミファイルを生成しやすい.これがnginxがpost静的ファイルをサポートしていない理由だと思います.一つは問題があることであり、二つは本当に意味がない.
php-fpmおよびnginxのインストールはネット上で比較的多く、重複しません.主にnginxを構成する面では、nginx 0.5.9以上がこの機能をサポートしています.
3つのパラメータだけで実現できます.
client_body_in_file_only clean;
client_body_temp_path /dev/shm 1 2;
fastcgi_param  REQUEST_BODY_FILE  $request_body_file;

格納されたパスは、tmpfs、ramdiskなどのメモリファイルシステムを使用することができる.より正確にはhttpメッセージの性能を最適化することです.httpでメッセージを送信できるのはpost方法だけでなく、postに詳しいと思っているだけです.
参考資料:
http://php-fpm.org/
http://wiki.nginx.org/Main