
同一のハードウェアを実行するサーバーが 2 台あります。
- IBM xシリーズ x345 (8670/71X)
- 4GBのRAM
- 4 x 30Gb ディスク (RAID 5)、ハードウェア コントローラ
1 台のサーバーには Windows Server 2003 R2 SP2 とすべてのパッチがインストールされています。もう 1 台のサーバーには Windows Server 2008 SP2 とすべてのパッチがインストールされています。
システム上で他の主要なプロセスが実行されていない状態で (どちらかといえば、win2003 システムの負荷の方が大きい)、ソフトウェアをインストールして自動テストを実行します。win2008 システムでは、実行に 50% 長い時間がかかります。
このソフトウェアはソケット サーバー デーモンで、クライアント接続を待機する 1 つのプロセスを常に実行するように構成されています。クライアント接続ごとに、新しいプロセスを開始してソケットを接続し、クライアントと新しいプロセスの間で生のソケット データをプロキシします。すべての実行可能ファイルは署名されています (ただし、各要求で開始される実行可能ファイルとして署名されていない実行可能ファイルを使用した場合でも、違いはありません)。
2 台のサーバーで非常に簡単なパフォーマンス テスト (PassMark) を実行したところ、非常によく似た結果が出ました。2008 が 2003 よりもそれほど遅いとは考えられないため、問題は自分のソフトウェアにあると想定しています。
問題を詳しく分析する前に、同じソフトウェアを Server 2003 と Server 2008 にインストールした場合を比較して、大幅な速度低下が見られた方はいらっしゃいますか? もしそうなら、その原因は何でしたか?
答え1
昨年、当社は 10 ~ 15 台の SBS 2008 サーバーを導入しました。ほとんどのお客様は、ネットワーク関連、電子メール、ファイル アクセス、パブリック ドライブ アクセスなど、あらゆる点で速度低下に気づいています。2008 のコードはとにかく遅いようです。Vista を覚えていますか? SBS 2008 は同じコードで構築されています。XP が Vista より高速だったことは誰もが知っています。したがって、2003 は 2008 より高速で安定している可能性が高いでしょう。
R2 ははるかに優れており (win7 上に構築)、速度の問題のほとんどは解決されていると思います。これは何を意味するのでしょうか? 2008 ボックスの動作が遅いのは驚くことではありません。これは正常です。
答え2
IBM 固有のドライバー/パッチをすべて適用しましたか、それとも MS のものだけを適用しましたか? 両方のマシンが同じハードウェアを報告していますか? また、物理的な問題か OS の問題かを確認するために、マシン間でディスクを交換してみましたか?
答え3
追加のオーバーヘッドは、新しいプロセスの生成によって発生するのでしょうか? アプリケーションは、接続ごとに追加のプロセスが生成されるネイティブ Unix デーモンのように動作しているようです。Windows ではプロセスの作成に Unix よりも多くのオーバーヘッドがかかるため、ほとんどの Windows サーバー アプリケーションでは、着信接続を処理するためにマルチスレッド モデルを使用します。
答え4
マシンのアドレス サイズに違いはありますか? 2003 マシンは 32 ビットで、2008 マシンは 64 ビットですか?