ディスク I/O の要件を計算する方法
ディスク I/O を発生させる Exchange の動作とコンポーネント、およびそれをサポートするための記憶域の構成方法について理解したら、ユーザーに対するディスク I/O の要件を計算する必要があります。ディスク I/O の要件を計算することにより、最終的にディスク サブシステムをユーザー向けに最適化することができます。
目標は、待ち時間を Exchange が効率的に機能することを考慮に入れた許容範囲内に抑えながら、十分なディスク I/O パフォーマンス (1 秒あたりに実行可能な I/O 操作数 "IOPS" により測定) を得ることです。
メールボックスあたりの IOPS を計算すると、データベースに対するランダムな読み取り/書き込み I/O に基づいて、特定のサーバーのプロファイルを簡単に測定できます (トランザクション ログ I/O については、この計算では考慮しません)。メールボックスあたりの IOPS の値が大きいほど、ディスク使用率の点でメールボックス プロファイルの能力が高いことを意味します。
ディスク I/O の要件を計算する場合、以下の 2 つの方法があります。
- 理論上のデータに基づいてユーザーのニーズを判断する。
- ユーザーの利用状況について、パフォーマンス コンソール (Perfmon) を使用して計算する。
どちらの方法でも、使用率がピークとなる時間帯のデータに基づいて計画と計算を行う必要があります。多くの企業では、この時間帯はユーザーが職場に到着して電子メールをチェックする始業時間前後です。
理論上のデータを使用した I/O の計算
まだ Exchange をインストールしていなくても、Exchange の展開によってすぐに発生する記憶域の需要を満たす計画を立てる場合は、収集済みのデータを使用することができます。これは、メールボックス プロファイルという形式のデータです。このプロファイルには、Exchange メールボックスの一般的な使用パターンが記述されています。
次の表に、Exchange メールボックス サーバーの容量計画の指針として使用できるメールボックス プロファイルを示します。このプロファイルは、組織内の "平均的なユーザー" の Outlook (または MAPI ベース) クライアントがメールボックスにアクセスする頻度を表しています。
ユーザー プロファイルおよび対応する利用状況パターン
ユーザーの種類 | データベース ボリュームの IOPS | 1 日あたりの送受信数 | メールボックス サイズ |
---|---|---|---|
ライト |
.5 |
20 通送信/50 通受信 |
50 MB |
平均 |
.75 |
30 通送信/75 通受信 |
100 MB |
ヘビー |
1.0 |
40 通送信/100 通受信 |
200 MB |
大規模 |
1.5 |
60 通送信/150 通受信 |
500 MB |
各プロファイルは、Jet データベースに対する I/O の合計を表していますが、トランザクション ログ ファイルの動作に関連した I/O は含まれていません。ディスク サブシステムの負荷を正確に計算するには、このデータベース I/O を読み取り I/O と書き込み I/O に切り分ける必要があります。これは、書き込み操作の方が読み取りよりも I/O 負荷が大きいためです。
読み取り/書き込みの比率を推測する際の例として、メールボックス プロファイルが高負荷の企業の利用状況パターンを考えてみます。この企業の運用環境では、読み取り/書き込みの比率は、評価対象のユーザー グループに応じて 75% 対 25% から 66% 対 33% になります。
使用頻度の高い 2,000 個のメールボックスから構成されるメール システムの場合、データベース ボリューム上で発生する I/O は、合計 1,500 IOPS となります。これを計算する数式は次のとおりです。
ユーザーの種類に応じたユーザーあたりの推測 IOPS × ユーザー数
上記の例では、0.75 IOPS × 2,000 メールボックス = 1,500 IOPS となります。
読み取り/書き込みの比率として、控えめな 2 対 1 (66% の読み取りに対し 33% の書き込み) を使用する場合、データベース ボリュームに対して 1 秒あたり 1,000 件の読み取り I/O 要求と 500 件の書き込み I/O 要求が発生するものとして計画することができます。すべての書き込み要求は、最初にトランザクション ログ ファイルに書き込まれた後で、データベースに書き込まれます。データベース ボリューム上で発生する合計 1,500 IOPS のおよそ 10% が、トランザクション ログ ボリューム上で発生します (1,500 の 10% で 150 IOPS)。この場合、500 件の書き込み I/O 要求がデータベースに書き込まれます。
このプロファイル推測値は、基本のオペレーティング システム以外にはコンポーネントがインストールされていない Exchange サーバーを対象としています。サード パーティの個人情報管理 (PIM) ソフトウェア、MAPI ベースのウイルス検索プログラム (サーバー側およびクライアント側)、管理用および監視用のソフトウェア、バックアップ ソフトウェアなどの各種ソフトウェアが、使用率がピークとなる時間帯に使用される場合には、このプロファイルで組織の I/O プロファイルを適切に記述することはできません。この場合は、それらのアプリケーションによって要求される追加の読み取りおよび書き込みについても考慮する必要があります。
メールボックスの数を基にしたデータベース IOPS
1,000 メールボックスごとのデータベース IOPS
メールボックス | データベース ボリュームの IOPS | IOPS | 実際の IOPS |
---|---|---|---|
1000 |
1.0 |
1000 |
1000 |
2000 |
1.0 |
2000 |
2500 |
3000 |
1.0 |
3000 |
3750 |
4000 |
1.0 |
4000 |
5000 |
Exchange Server 上で同様のプロファイルを持つユーザーの数を増やすと、データベース キャッシュを共有する必要があるユーザーの数が増え、データベースのディスク転送が増加します。
例 :
1.0 IOPS での 1,000 個のメールボックスは、データベース論理ユニット番号 (LUN) 上で 1,000 IOPS を生成します。同じプロファイルを持つユーザーの数を 2 倍の 2,000 にすると、式は 1.0 IOPS x 2,000 メールボックス x 1.25 = 2,500 IOPS となります。
データベースの数を基にしたデータベース IOPS
データベース | IOPS 係数 | 実際の IOPS |
---|---|---|
1 |
0% |
1000 |
2 |
2% |
1020 |
4 |
6% |
1060 |
8 |
14% |
1140 |
10 |
18% |
1180 |
20 |
38% |
1380 |
単一インスタンス ストレージの利点は、Exchange サーバーにデータベースを追加するたびに低減されます。影響の度合いは、ユーザー プロファイルと平均のメッセージ サイズによって異なります。たとえば、1 つのデータベース上に 1,000 ユーザーがあり、1,000 データベース IOPS を使用し、そのユーザーを 10 個のデータベースに分割した場合、使用されるデータベース IOPS は 18% 多くなります (つまり 1,180 IOPS)。10 MB の PowerPoint ファイルが添付ファイルとして同じデータベース上にある 20 個のメールボックスに送信された場合、10 MB のみがデータベースに書き込まれます。これらの 20 人の受信者が異なるデータベース上に配置されている場合は、ディスクに 200 MB を書き込む必要があり、書き込み動作は 20 倍増加します。このデータは、多数の配布リストを使用し、負荷の大きい企業プロファイルである MMB3 テストに基づくものです。
ユーザーの種類 | Outlook キャッシュ モード | Outlook オンライン モード | 受信トレイのサイズ |
---|---|---|---|
企業 |
1.0 IOPS |
1.0 IOPS |
10,000 アイテム - 500 MB |
大規模 |
1.0 IOPS |
1.25 IOPS |
20,000 アイテム - 1 GB |
最大規模 |
1.0 IOPS |
1.75 IOPS |
40,000 アイテム - 2 GB |
Outlook キャッシュ モードでは、ディスクを集中的に使用する一般的なタスクの多くがクライアントで実行されます。Outlook キャッシュ モードでの最初の完全同期はディスクを集中的に使用する動作ですが、ほとんど実行されることはありません。Outlook オンライン モードでは、検索と並べ替えがサーバーで実行されます。インデックスは最初に作成された後、メールが受信されるたびに自動的に更新されます。インデックスの数が異常に多いユーザーの場合は、制限を超えてしまい、一部のインデックスが再作成されることがあります。一部の Outlook プラグインと外部アプリケーションはインデックスを作成するため、物理ディスクをさらに圧迫します。500 MB から 1 GB に移行すると、データベースに対する物理ディスク コストは約 25 % 増加します。一方、1 GB から 2 GB に移行すると、データベースに対する物理ディスクのコストは約 40 % 増加します。
実際の環境のデータを使用した I/O の計算
既に Exchange を展開している場合は、既存の運用環境を使用して I/O 要件を特定する必要があります。運用環境を監視することの利点は、サード パーティのアプリケーションも含め、すべてのアプリケーションによって発生する I/O のデータを収集できることです。
メールボックスあたりの IOPS を計算するときは、そのサーバーにある現在のメールボックス数を使用してください。サーバーに未使用のメールボックスが多数存在したり、ピークの 2 時間に大きな負荷がかからない他のアプリケーションをサーバーが実行したりしている場合、測定結果は一般的なユーザー負荷を表しません。正確に測定するには、一般的なユーザー メールボックスを格納しているサーバーを選択するか、未使用のメールボックスを計算に含めないでください。
曜日によって使用負荷が少し異なることに注意してください。使用負荷は大幅に変化するため、長期 (理想的には 1 か月) にわたって環境を監視することにより、ピークの時期を判別する必要があります。
Exchange の運用環境から収集したデータを使用して記憶域の I/O 要件を計算する方法の詳細な手順については、「環境のデータを使用して記憶域の I/O 要件を計算する方法」を参照してください。
このメールボックスあたりの IOPS 値は、オペレーティング システム レベルで測定されるものです。ハードウェア RAID ソリューションを導入している場合は、ディスク レベルでの IOPS 値が異なり、これは Perfmon では測定できません。RAID-5 には、RAID-1+0 の場合とは異なるペナルティがあります。各種の RAID ソリューションにおける IOPS の計算の詳細については、Windows のディスク サブシステムのパフォーマンス分析についてのページを参照してください (このサイトは英語の場合があります)。
メールボックスあたりの IOPS 値を計算したら、既存の記憶域のアーキテクチャを最適化できます。