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