1

php-fpmのアクセスログのリクエスト時刻とxdebugのタイミングが一致しません。

xdebug プロファイリングがリクエストに対して 100 ミリ秒を示し、php-fpm アクセス ログが 700 ミリ秒 + 7 倍以上の差を示すのはなぜですか?

xdebug が途中で抜けたりスキップしたりしていますか、それとも実際の php 処理の間に fpm が何かをしていますか?

Xdebug ロギングの自動ロード/インクルード/タイミングも必要ですか? データベース接続など?

php-fpm が access.log にログインしているタイミングを詳しく調べる方法はありますか?

4

1 に答える 1

1

php-fpm は、処理の最後に実際の php ファイルのロードアップとクリーンアウトをセットアップ/ティアダウンするのに必要な時間をログに記録していると思われます。Xdebug は、呼び出しのセットアップ後にのみ「自己認識」することができ、php の実行が完了した後に php-fpm がクリーンアップを開始すると、失敗します。おもう。私はphp-fpmなしで同じことを観察します(拡張Apacheログから)。

アパッチから:

 192.168.1.54 - - [19/Aug/2016:10:35:17 -0400] "POST /idm/feed/do.php HTTP/1.1" 200 2186 0/128868 I:252 O:2434

PHPプロセスから:

2016-08-19T10:35:17-04:00 -api.idm.feed.Servlet          DEBUG /idm/feed[detail] processed in 12.8 ms. , 3 MB

同じコール!Apache 128 ミリ秒、php 12.8 ミリ秒。

Apache を使用している場合は、追加のモジュールをロードし、このログ形式を使用して、上記のようにエンドツーエンドの時間と IO を取得します。

ロード :

LoadModule log_config_module libexec/mod_log_config.so

ログ形式:

LogFormat "%h %l %u %t \"%r\" %>s %b %T/%D I:%I O:%O"  common
于 2016-08-19T14:49:46.327 に答える