web-dev-qa-db-ja.com

このサーバーを遅くしている理由を知る方法

こんにちは私は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、メモリ、またはその他の観点から?

1
Earlz

「空き」RAMが表示されているにもかかわらず、ハードページフォールトが多数発生しているのではないかと疑っています。

Windows Server 2003で「パフォーマンスモニター」を起動したときにグラフ化されるデフォルトのカウンターは、何が起こっているのかをベースラインビューで表示するための優れたカウンターです。

  • オブジェクト:メモリ、カウンター:ページ/秒
  • オブジェクト:PhysicalDisk、カウンター:平均ディスクキューの長さ
  • オブジェクト:プロセッサー、カウンター:%プロセッサー時間

これらのカウンターは、マシンで何が起こっているのか、ボトルネックがどこにあるのか(CPU、RAM、ディスクIO)の全体像を示します。デフォルトで追加されている「Avg.DiskQueue Length」カウンターを削除し、マシン上の各物理ディスクの「Avg。DiskQueueLength」のカウンターを追加することを検討します。大量のページングを行っている場合、ページファイルをホストしているディスクに長いディスクキュー(2を超える)が表示されることがあります。

かなりの数のハードページフォールト(つまり、ディスクに移動する必要のあるページフォールト)が発生しているかどうかを確認する必要があります。 「メモリ」オブジェクトの「ページ入力/秒」カウンタを監視して、発生しているハードページフォールトの数を確認します。

ハードページフォールトは、要求を満たすために必要なメモリページをディスクから読み取る必要がある場合に発生します。ハードページフォールトの「修正」は、物理RAMを追加することです。

ソフトページフォールトは、アプリケーションが最初に新しいページに書き込む(コピーオンライト)、ゼロ化するページを要求する、またはメモリ内の別の場所にあるページ(別のプロセスで使用されているメモリマップファイルなど)にアクセスするときに発生します。ソフトページフォールトがたくさんある場合は、おそらくそれを「修正」するために多くのことを行うことはできませんが、それらについてあまり心配する必要はありません。

ハードページフォールトが多数発生する場合は、ボックスにRAMを追加してください。

3
Evan Anderson

もっとラム。サーバーが物理的にサポートできる限り多くのRAMをロードする必要があります。最近のRAMは安いので、RAMのアップグレードから始めて、「サーバーの速度低下」の問題が解消されないかどうかを確認してください。

0
Mitch