誰かが何かを理解するのを手伝ってくれることを願っています。地球の反対側にある Web サイトにアクセスしている場合、PHP は約 300 ミリ秒のページ実行時間を報告します ( で簡単な計算を行うことによりmicrotime(true)
)。サーバー上の同じ Web サイトにローカルでアクセスすると、PHP は最大 20 ミリ秒のページ実行時間を報告します。ネットワーク レイテンシが PHP の実行時間の要因のようです。ページ全体が PHP によってレンダリングされ、Apache に返されてすぐにクライアントに送信されると思っていたので、これは驚くべきことです (したがって、スクリプトの実行時間は同じになります。出身地は問いません)。
アパッチ、PHP5 (mod_php)、CentOS 5.
PHP は何らかの方法で出力がブラウザに送信されるのを待ってから実行を続けると思いますか? これにはいくつかの出力バッファリング要因が関係している可能性があると感じていますが、実際にはわかりません. php.ini で出力バッファリングをオンにしました。
私の質問は次のとおりです: 何が起こっているのか、ネットワークの遅延が PHP の実行にどのような影響を与えているのか?
この種の質問をするのに適切な場所であったことを願っています。私はSOとグーグルを検索しようとしましたが、関連するものさえ見つけることができませんでした.
編集Webページがサーバーからクライアントに転送されるのにかかる時間を測定することについて話しているのではありません。私は、ページの HTML ソースをローカル マシンからダウンロードしたときに、PHP の実行速度がどのように計算されるかについて、率直に話しています。同じサーバー、同じページ、一貫した結果。curl http://example.com | grep milliseconds
サーバーがPHP実行時間として報告しているものを確認するために、両方の場所で使用しています。