こんにちは私は2つのSATAディスクを使用してRAID1 +0用に構成されたHPサーバーを持っています。私はサーバーの取り扱いにもかなり慣れていません。
サーバーにはしばらくの間同じOS(Windows Server 2003)がインストールされているため、何が行われたのかわかりません。
3GHzで動作するデュアルコアP4CPUを搭載しています。 512Mラム。
サーバーの実行速度が非常に遅い..何が原因でサーバーが非常に遅くなっているのかわかりません。 RAM空きがほとんどない場合と、1億を超えるRAM空きがある場合)のパフォーマンスに大きな違いはありません。使用されるのは、 SVNサーバーであり、アクティビティの少ない開発SQLExpressデータベースをホストしています。ただし、テーブルに5つのレコードしかない単純なSELECT * FROM TABLE
を実行するのに1秒以上かかる場合があります。
CPUが限界に達していないか何か。使用率が25%を超えることはほとんどありません。
だから私の唯一のアイデアはディスクアクセスです。しかし、ディスク速度テストを行っても、それがボトルネックの場所であるかどうかはわかりません。いくつかのパフォーマンス監視を試みましたが、私が見ている唯一の奇妙なことは、大量のページ/秒です(データベースなどにアクセスしている間、アイドルはゼロに近く、ピークは1000を超えます)。
TL; DR:パフォーマンスのボトルネックがサーバーのどこにあるかをどのように知ることができますかディスク、CPU、メモリ、またはその他の観点から?
「空き」RAMが表示されているにもかかわらず、ハードページフォールトが多数発生しているのではないかと疑っています。
Windows Server 2003で「パフォーマンスモニター」を起動したときにグラフ化されるデフォルトのカウンターは、何が起こっているのかをベースラインビューで表示するための優れたカウンターです。
これらのカウンターは、マシンで何が起こっているのか、ボトルネックがどこにあるのか(CPU、RAM、ディスクIO)の全体像を示します。デフォルトで追加されている「Avg.DiskQueue Length」カウンターを削除し、マシン上の各物理ディスクの「Avg。DiskQueueLength」のカウンターを追加することを検討します。大量のページングを行っている場合、ページファイルをホストしているディスクに長いディスクキュー(2を超える)が表示されることがあります。
かなりの数のハードページフォールト(つまり、ディスクに移動する必要のあるページフォールト)が発生しているかどうかを確認する必要があります。 「メモリ」オブジェクトの「ページ入力/秒」カウンタを監視して、発生しているハードページフォールトの数を確認します。
ハードページフォールトは、要求を満たすために必要なメモリページをディスクから読み取る必要がある場合に発生します。ハードページフォールトの「修正」は、物理RAMを追加することです。
ソフトページフォールトは、アプリケーションが最初に新しいページに書き込む(コピーオンライト)、ゼロ化するページを要求する、またはメモリ内の別の場所にあるページ(別のプロセスで使用されているメモリマップファイルなど)にアクセスするときに発生します。ソフトページフォールトがたくさんある場合は、おそらくそれを「修正」するために多くのことを行うことはできませんが、それらについてあまり心配する必要はありません。
ハードページフォールトが多数発生する場合は、ボックスにRAMを追加してください。
もっとラム。サーバーが物理的にサポートできる限り多くのRAMをロードする必要があります。最近のRAMは安いので、RAMのアップグレードから始めて、「サーバーの速度低下」の問題が解消されないかどうかを確認してください。