サーバー全体のアーキテクチャの概要

サーバーは複数のサブシステムで構成されており、それぞれがサーバーのパフォーマンスを決定する上で重要な役割を果たします。サーバーが使用されるアプリケーションに応じて、一部のサブシステムはパフォーマンスにとってより重要です。

これらのサーバー サブシステムには次のものが含まれます。

1. プロセッサとキャッシュ
プロセッサはサーバーの中心であり、ほぼすべてのトランザクションの処理を担当します。これは非常に重要なサブシステムであり、パフォーマンスのボトルネックを解消するには、より高速なプロセッサが常に優れているという一般的な誤解があります。

サーバーにインストールされている主要コンポーネントの中で、プロセッサは他のサブシステムよりも強力であることがよくあります。ただし、P4 や 64 ビット プロセッサなどの最新のプロセッサの利点を十分に活用できるのは、少数の特殊なアプリケーションだけです。

たとえば、ファイル サーバーなどの従来のサーバーの例では、ファイル トラフィックのほとんどがダイレクト メモリ アクセス (DMA) テクノロジを使用してプロセッサをバイパスし、スループットはネットワーク、メモリ、およびハードディスク サブシステムに依存するため、プロセッサのワークロードに大きく依存しません。

現在、インテルは X シリーズ サーバー用にカスタマイズされたさまざまなプロセッサを提供しています。さまざまなプロセッサー間の違いと利点を理解することが重要です。

厳密にはメモリ サブシステムの一部とみなされているキャッシュは、プロセッサと物理的に統合されています。 CPU とキャッシュは密接に連携し、キャッシュはプロセッサーまたは同等の速度の約半分の速度で動作します。

2. PCIバス
PCI バスは、サーバーの入出力データのパイプラインです。すべての X シリーズ サーバーは、PCI バス (PCI-X および PCI-E を含む) を使用して、SCSI やハードディスクなどの重要なアダプターを接続します。通常、ハイエンド サーバーには複数の PCI バスがあり、以前のモデルと比べてより多くの PCI スロットが搭載されています。

高度な PCI バスには、より高いデータ スループットと接続機能を提供する PCI-X 2.0 や PCI-E などのテクノロジーが含まれています。 PCI チップは、CPU とキャッシュを PCI バスに接続します。この一連のコンポーネントは、PCI バス、プロセッサ、メモリ サブシステム間の接続を管理し、システム全体のパフォーマンスを最大化します。

3. 記憶
メモリはサーバーのパフォーマンスにおいて重要な役割を果たします。サーバーに十分なメモリがないと、オペレーティング システムは追加のデータをメモリに保存する必要があるものの、スペースが不足し、ハード ディスク上でデータが停滞するため、パフォーマンスが低下します。

エンタープライズ X シリーズ サーバーのアーキテクチャにおける注目すべき機能の 1 つはメモリ ミラーリングであり、これにより冗長性とフォールト トレランスが向上します。この IBM メモリー・テクノロジーは、メモリーがミラーリングされたグループに分割される、ハードディスクの RAID-1 とほぼ同等です。ミラーリング機能はハードウェアベースであるため、オペレーティング システムによる追加のサポートは必要ありません。

4. ハードディスク
管理者の観点から見ると、ハードディスク サブシステムはサーバーのパフォーマンスを決定する重要な要素です。オンライン ストレージ デバイス (キャッシュ、メモリ、ハードディスク) の階層的配置では、ハードディスクが最も低速ですが、最大の容量を持ちます。多くのサーバー アプリケーションでは、ほぼすべてのデータがハードディスクに保存されるため、高速なハードディスク サブシステムが重要になります。

RAID は、サーバーの記憶域を増やすために一般的に使用されます。ただし、RAID アレイはサーバーのパフォーマンスに大きな影響を与えます。異なる論理ディスクを定義するための異なる RAID レベルの選択はパフォーマンスに影響し、記憶域スペースとパリティ情報も異なります。 IBM の ServeRAID アレイ カードと IBM ファイバー チャネル カードには、それぞれ独自の構成を持つさまざまな RAID レベルを実装するためのオプションが用意されています。

パフォーマンスにおけるもう 1 つの重要な要素は、構成されたアレイ内のハードディスクの数です。ディスクの数が多いほど、スループットが向上します。 RAID が I/O リクエストをどのように処理するかを理解することは、パフォーマンスを最適化する上で重要な役割を果たします。

現在、SATA や SAS などの新しいシリアル テクノロジが、パフォーマンスと信頼性を向上させるために使用されています。

5. ネットワーク
ネットワーク アダプターは、サーバーが外部と通信するためのインターフェイスです。このインターフェイスを通じてデータが優れたパフォーマンスを達成できる場合、強力なネットワーク サブシステムはサーバー全体のパフォーマンスに大きな影響を与える可能性があります。

ネットワーク設計はサーバー設計と同様に重要です。異なるネットワーク セグメントを割り当てるスイッチや、ATM などのテクノロジーのアプリケーションは検討する価値があります。

ギガビット ネットワーク カードは現在、必要な高スループットを提供するためにサーバーで広く使用されています。ただし、10G レートを達成するための TCP オフロード エンジン (TOE) のような新しいテクノロジも目前に迫っています。

6. グラフィックスカード
サーバー内の表示サブシステムは、管理者がサーバーを制御する必要がある場合にのみ使用されるため、比較的重要ではありません。クライアントはグラフィック カードを使用しないため、サーバーのパフォーマンスがこのサブシステムを重視することはほとんどありません。

7. オペレーティングシステム
他のハードディスク サブシステムと同様に、オペレーティング システムが潜在的なボトルネックであると考えられます。 Windows、Linux、ESX Server、NetWare などのオペレーティング システムには、サーバーのパフォーマンスを向上させるために変更できる設定があります。

パフォーマンスを決定するサブシステムは、サーバーのアプリケーションによって異なります。ボトルネックの特定と排除は、パフォーマンス データの収集と分析によって実現できます。ただし、ボトルネックはサーバーのワークロードの変化 (場合によっては日次または週次ベース) に応じて変化する可能性があるため、このタスクを一度に完了することはできません。


投稿日時: 2023 年 7 月 20 日