2

誰かが何かを理解するのを手伝ってくれることを願っています。地球の反対側にある 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実行時間として報告しているものを確認するために、両方の場所で使用しています。

4

1 に答える 1

0

2 台の異なるマシン、またはサーバー ソフトウェアや構成が異なる 2 台のまったく同じマシンでさえ、実行時間に劇的な影響を与える可能性があります。何かが起こるかもしれません。詰まりが発生する可能性があり (以前に発生したことがあります)、ページの読み込みに突然 10 秒かかります。その後、ブラウザを再起動し、キャッシュを空にして再試行すると、ほぼ瞬時に再試行されます。

ワッフルの後、私が言及したいのは、接続速度とは何の関係もない、または少なくともほとんど何もないということだけです.

于 2012-08-26T05:28:20.560 に答える