0

空のフォーム タグを使用して簡単な Web ページを作成しました。このタグには、AJAX 要求の応答が入ります。このリクエストは、PHP スクリプトにデータを要求します。このスクリプトは実行時間を返します。今、本当に奇妙なことがあります。アドレスを手で入力すると、スクリプトが教えてくれます

<!-- Duration: 0.8 milliseconds (~1242 pages per second) -->

しかし、Chrome の組み込みのネットワーク リクエスト ロガーを使用すると (ロードされたものを監視するため)、次のようになります。

<!-- Duration: 52.7 milliseconds (~19 pages per second) -->

80倍遅い理由は何ですか? 繰り返します: 同じスクリプト、同じパラメーター、同じ応答 (ただし、原因の継続時間)、同じサーバー、異なる要求の種類: AJAX とブラウザーのアドレス行。

<?php
class AbstractModule
{

    final function __construct(..)
    {
        // for measuring creation time
        $this->starttime = microtime(true); 
    }

    public final function return_duration()
    {
        $duration = (microtime(true) - $this->starttime) * 1000;
        return "\n<!-- Duration: " . number_format($duration, 1, '.', '') . " milliseconds (~" . number_format(1000 / $duration, 0, '.', '') . " pages per second) -->";
    }

}

$demo = new AbstractModule();
// doing very much :)<
echo $demo->return_duration();
?>

ありがとう。

4

1 に答える 1

0

セッションを使用しますか?違いは、Cookie を送信しないため、毎回 ajax 要求がセッションを再起動することです。

それ以外の場合は、デバッガーを中断して原因を追跡することをお勧めします。

于 2012-06-11T11:36:13.153 に答える