2

20 分以上サイトにアクセスしなかった後、サイトからロードする最初のページが非常に遅いです。後続のページの読み込みは 10 ~ 20 倍速くなります。この症状の一般的な原因は何ですか? http リクエストを受信して​​いないときに、サーバーがスリープ状態になっている可能性はありますか?

4

3 に答える 3

3

多くの初心者を混乱させるものだと確信しているので、私はこの質問に一般的に答えます.

本当に短い答えは:キャッシングです

コンピューター内のほぼすべてのプログラムは、何らかの形式のキャッシュを使用して、最近既にロード/処理されたデータを記憶しているため、再度作業を行う必要はありません。

キャッシュのサイズは常に制限されているため、データを破棄する必要があります。99% の確率で、キャッシュ エントリの有効期限が切れる主な基準は、これが最後に使用されたのはどれくらい前かということです。

  • オペレーティング システムは、ディスクから読み取ったファイル データをキャッシュします
  • PHP はページをキャッシュし、メモリ内でコンパイルしたままにします
  • CPU は、専用のより高速なメモリにメモリをキャッシュします (ただし、これはほとんどのユーザーにはわかりにくいかもしれません)。

また、実際にはキャッシュではないものも、キャッシュと同じように機能します。

  • 仮想メモリ別名スワップ。特定のプログラムに使用できるメモリが不足している場合、オペレーティング システムは、メモリのチャンクをディスクに移動して、プログラム用の領域を確保する必要があります。最近のオペレーティング システムでは、ディスク キャッシュを大きくできるように、OS がこれを行います。
  • 一部の Web サーバーは、自身の複数のコピーを実行し、それらの間で要求のワークロードを共有することを好みます。セットアップに応じて、コピーも個別にキャッシュします。ワークロードが十分に低い場合、サーバーはこれらのプロセスの一部を終了してメモリを解放し、コンピューターの残りの部分に優しくすることができます。後でワークロードが増加した場合、新しいプロセスを開始する必要があり、そのメモリにはさまざまなデータがロードされます。

(注意してください、上記のウィキペディアのリンクは多くの詳細を説明しています。すべての人がそれらを読むとは思っていませんが、本当にもっと知りたい場合はそこにあります)

于 2012-04-07T07:39:10.373 に答える
2

眠っていないのでしょう。しばらくアクセスされず、リソースを解放します。やり直すのに時間がかかります。

サイトが多くのユーザーによって頻繁に訪問される場合、毎回迅速に応答する必要があります。

于 2012-04-07T06:12:19.690 に答える
0

キャッシングができるようです。サーバーはブラウザと同じマシンで実行されていますか? そうでない場合、ネットワーク構成 (同じ LAN など) は何ですか?

于 2012-04-07T06:01:36.270 に答える