4

yii + php-fpm+nginxでサイトを構築しました。次に、xhprofでボトルネックを見つけようとしました。xhprofの結果は、一部のリクエスト(すべてではない)で、関数fastcgi_finish_requestがすべての実行時間の80%を超えるコストをかけていることを示しています。とても不思議です。

クリックして、xhprofからの完全なグラフ出力を表示します

クリックして、xhprofからのフォーム出力を表示します

私が使用するバージョンは次のとおりです。

php:5.3.8

nginx:1.0.10

xhprof:githubソースから構築

関数fastcgi_finish_requestに時間がかかるのはなぜですか?そして、どうすればこれを回避できますか?

4

1 に答える 1

1

php-fpm.orgページから:

fastcgi_finish_request()は、応答出力を停止するphp機能です。Webサーバーはすぐに応答を「ゆっくりと悲しいことに」クライアントに転送し始めます。同時にphpは、セッションの保存、ダウンロードしたビデオの変換、すべての種類の処理など、クエリのコンテキストで多くの便利なことを実行できます。統計など

私はfastcgi_finish_request()まだ自分自身を使用していませんが、時間があれば、サーバーはこれまでに作成された応答出力を返送する必要があり、PHPスクリプトのこのメソッドの「実行時間」としてカウントされます。サーバーとクライアントのネットワーク接続(pingなど)に依存するため、この関数が多くの時間を「消費」する理由はかなり明らかです。

ローカル開発環境を使用する場合、実行時間は異なりますか?

于 2013-01-28T15:01:04.107 に答える