ユーザー登録後のメール送信やログの記録など、時間のかかる一部の操作を非同期操作に変換できます。 PHP が FastCGI モードで実行される場合、fastcgi_finish_request() 関数が提供されます。次の例を参照してください:
スクリプトを実行すると、クライアントが上記の文を出力し、fastcgi_finish_request() より下の内容が出力されていないことがわかります。このドキュメントでは、fastcgi_finish_request を呼び出した後、クライアントの応答は終了したが、同時にサーバー スクリプトは実行を継続すると説明しています。これにより、応答速度がある程度向上します。もちろん、より科学的なアプローチは、fastcgi_finish_request() 関数を使用してキュー メッセージを統合し、メッセージをキューに非同期的に送信することです。
fastcgi_finish_reques() 関数の欠点:
1. PHP FastCGI プロセスの数は制限されており、非同期操作を処理している php-cgi プロセスは新しいリクエストを処理できません。 2. 同時アクセスの場合 ボリュームが大きく、php-cgi プロセスの数がいっぱいになり、新しいアクセス要求を処理する php-cgi が存在しなくなります。 Nginx サーバーが「502 Bad Gateway」と表示されます。