64 ビット ハードウェアおよびソフトウェアの利点 (Office SharePoint Server 2007)

一般に、よく知っていて動作することがわかっているツールを使い続ける方が快適だと感じるものです。Microsoft Office SharePoint Server 2007 と共に使用する 64 ビット環境の大規模な導入への動きは鈍く、これは、32 ビット ハードウェアとソフトウェアのインストールおよび構成に要した時間、費用、労力への投資がネックとなっていると考えられます。主として、64 ビット環境への移行に伴うコスト、複雑な作業、膨大な時間の問題と、移行後の環境と既存のソフトウェアとの間に互換性がないことが懸念されているようです。この記事では、このような懸念が過大視されていること、また、移行することでこれらの懸念に勝るメリットを期待できることを説明します。

64 ビット環境について

64 ビット環境は、ハードウェア コンポーネントとソフトウェア コンポーネントによって構成されます。ハードウェアのみを 64 ビットにアップグレードした場合でもパフォーマンスは多少向上します。しかし、最大の効果は、64 ビット ハードウェアとソフトウェアを一緒に使用したときにはじめて得られます。

64 ビット ハードウェア

64 ビット プロセッサは、特殊なアプリケーションでは数十年来使用されてきましたが、近年になって Inter ベースのコンピュータに広範に導入されました。現在発売されている新しいサーバーの主流は 64 ビット サーバーです。ただし、現在 Windows ベースのサーバーとして使用されているコンピュータのほとんどは、いまだに 32 ビット アーキテクチャを使用しています。32 ビット サーバーが広く普及しているために、Office SharePoint Server 2007 のように大量のリソースを必要とするアプリケーションは、速度、信頼性、スケーラビリティにおいて十分な性能を発揮できていません。

コンピュータ アーキテクチャでは、64 ビットという用語は、一般に CPU 設計を表すために使用されますが、コンピュータの外部データ バスのサイズを指している場合もあります。64 ビット CPU のメリットには、個々のタスクを 32 ビット モデルの 2 倍の速度で計算できること、32 ビットでは 4 GB までしか消費できなかった RAM (ランダム アクセス メモリ) をはるかに大量に消費できることなどがあります。64 ビット CPU と 64 ビット データ バスの両方を備えたサーバーは、 Office SharePoint Server 2007 に関連する大規模なデータベース ファイルをより適切に処理および管理できます。

すべての 64 ビット コンピュータが同じというわけではありません。Intel の 64 ビット プロセッサの Itanium シリーズは、Microsoft SharePoint 製品とテクノロジとは互換性のない、独自の設計を使用しています。Office SharePoint Server 2007 ファームで使用するハードウェアの導入を検討する際は、プロセッサの種類について必ず確認してください。

64 ビット ソフトウェア

インストールするソフトウェアがハードウェアの全機能を使用するように設計されている場合にのみ、64 ビット ハードウェアのメリットを完全に引き出すことができます。互換性がある場合でも、32 ビット コンピュータ用に設計されたソフトウェアを 64 ビット コンピュータにインストールしても、期待されるメリットのうちほんのわずかなメリットしか得られません。Office SharePoint Server 2007 とこれに必要なオペレーティング システムおよびデータベース ソフトウェアには、64 ビット コンピュータ用のインストール オプションがあります。

Windows Server 2003 およびWindows Server 2008 には、64 ビット版の Standard Edition と Enterprise Edition があります。ボリューム ライセンスをお持ちのお客様が 64 ビット版へのアップグレードを希望される場合、32 ビット版からの 64 ビット版または Itanimum エディションへの切り替えは無償です。 Standard Edition は、1 way から 4 way のサーバー上で、最大 32 GB の RAM をサポートします。Enterprise Edition は大規模なデータベースに適していて、1 way から 8 way のサーバー上で、最大 2 TB の RAM をサポートします。 64 ビット環境における Windows Server の詳細については、「Microsoft Windows x64 Editions の利点」(https://go.microsoft.com/fwlink/?linkid=147235&clcid=0x411) を参照してください。

32 ビット版と 64 ビット版の SQL Server は共通のアーキテクチャに基づいています。64 ビット版の SQL Server は、AMD Opteron、AMD Athlon 64、Intel Extended Memory 64 Technology (EM64T) に対応した Intel Xeon、または EM64 に対応した Intel Pentium IV を使用するサーバーで実行するように最適化されています。 64 ビット環境における SQL Server の詳細については、「SQL Server 2000 Enterprise Edition (64-bit): 64 ビット環境の利点」(https://go.microsoft.com/fwlink/?linkid=147234&clcid=0x411) を参照してください。

Office SharePoint Server 2007 の 32 ビット版と 64 ビット版では、機能セットにもインストール プロセスにも違いはありません。

64 ビット ハードウェアとソフトウェアのメリット

メモリ アドレス指定能力

  • 物理メモリ

    32 ビット システム アーキテクチャが直接アドレス指定できるアドレス空間は、4 GB までです。64 ビット版の Windows Server を実行する 64 ビット システム アーキテクチャでは、最大 1,024 GB の物理メモリとアドレス指定可能なメモリがサポートされます。

  • 仮想メモリ

    64 ビット版の Windows Server は、フラットなアドレス指定モデルを使用して、16 TB の仮想メモリをアドレス指定できます。仮想メモリは、アプリケーション用の仮想アドレス空間とオペレーティング・システムに均等に割り当てられます。 64 ビット環境で実行されている場合は、32 ビット アプリケーションも、増強された仮想メモリ アドレス空間によるメリットを得られます。たとえば、32 ビット アプリケーションの仮想メモリは引き続き最大 4 GB のままですが、オペレーティング システムとメモリ空間を共有する必要はなくなります。結果として、使用可能な仮想メモリが大幅に増えます。

  • 連続したメモリ領域

    32 ビット システムのパフォーマンスがふるわない原因は、多くの場合、利用可能なメモリが不足しているのではなく、十分なサイズの連続したメモリ領域がないことにあります。標準的な Office SharePoint Server 2007 展開では、Windows、インターネット インフォメーション サービス (IIS)、共通言語ランタイム (CLR)、ASP.NET、SharePoint 製品とテクノロジ、SSP、および MDAC のすべてが、使用可能な仮想メモリをサーバーに要求し、32 ビットのアドレス空間は断片化されたままになる可能性があります。CLR または SharePoint サービスによって新しいメモリ ブロックが要求されたとき、過密な 32 ビット アドレス空間で 64 MB セグメントを確保することは容易ではありません。64 ビット システムは、ユーザー モード プロセッサ用にほぼ無限のアドレス空間を提供します。

並列処理の改善

32 ビット アーキテクチャを使用するサーバーの CPU は最大 32 個という制限があります。並列処理とバス アーキテクチャの改善により、64 ビット環境でサポートできるプロセッサ数が最大 64 個に増加しました。プロセッサが増えるごとにほぼ比例してスケーラビリティが向上します。

高速バス アーキテクチャ

64 ビットのアーキテクチャは、多数の多様な汎用レジスタを提供します。汎用レジスタにより、アプリケーションの速度が全体的に高速化されます。より多くのレジスタを使用する場合は、メモリに永続的なデータを書き込み、いくつかの手順を終えた後でそれらのデータを再び読み出す必要が少なくなります。64 ビット環境の方が関数呼び出しも高速になりますが、これは、レジスタで一度に 4 つの引数を関数に渡すことができるからです。

強化されたセキュリティ

64 ビット版の Windows Server には、強化された以下のセキュリティ機能が備わっています。

  • バッファ オーバーフロー保護

    バッファ オーバーフローは、処理可能なサイズを超えてデータが大量に入力され、データ バッファがあふれてしまったときに発生します。64 ビット版の Windows Server では、プロシージャ呼び出しの最初のパラメータはレジスタで渡されます。結果として、バッファのオーバフローは起こりにくくなります。これは、正しい値がレジスタで設定され、変数とアドレスはスタックに順番に格納される必要があるからです。

  • データ実行防止

    AMD と Intel によって開発された 64 ビットのプロセッサには、データ実行防止 (DEP) のハードウェア サポートが含まれています。バッファ オーバーランが発生した場合にも、Windows Server は DEP を使用して、悪意のあるコードが実行されることを防止します。DEP をサポートするプロセッサを使用していない場合も、Windows Server は、使用不可のメモリ位置で実行されているコードを検出することができます。

  • PatchGuard 機能

    Microsoft PatchGuard テクノロジは、Windows カーネルが Microsoft 以外のプログラムによって修正プログラムを適用されないように保護します。このテクノロジは、カーネル モード ドライバがシステム サービス ディスパッチ テーブル、割り込み記述子テーブル (IDT)、グローバル記述子テーブル (GDT) などのカーネル サービスを拡張または交換することを防止します。サードパーティのソフトウェアは、カーネル スタックを割り当てたり、カーネルに修正プログラムを適用したりできなくなります。

スケーラビリティの向上

64 ビット環境では、データベース サーバーがほぼ無制限の仮想メモリ アドレス空間を使用できるだけでなく、より多くの物理メモリがサポートされます。64 ビット版の Windows Server と SQL Server を実行している 64 ビット サーバーは、非常に大きな作業データ セットを RAM に読み込めるようになるため、パフォーマンスとスケーラビリティが向上します。 さらに、64 ビット環境は何度も繰り返すワーカー プロセスを必要としないため、指定されたユーザー ベースをサポートするのに必要なアプリケーション サーバーの数が実質的に削減されます。このように繰り返しが減少した結果、接続が切断されにくくなります。I/O 処理とユーザー エクスペリエンスも向上します。

総所有コストの削減

上述の各項で説明した 64 ビット操作のメリットにより、より少ない労力で多くの処理を行えるようになります。64 ビット環境では、以前よりも少ないハードウェアで、より多量のデータを管理し、より多数のユーザーにサービスを提供し、より多くのアプリケーションの実行ができるようになります。ハードウェアを削減することで、ライセンス数、操作、インフラストラクチャのコストを削減することができます。データ センターに占める設置床面積も少なくなり、メンテナンス コストも削減されます。さらに、64 ビット ハードウェアおよびソフトウェアを使用する Office SharePoint Server 2007 ファームには成長の余地が残されているので、現行の機器のライフ サイクルが従来より延長される見通しがあり、将来の設備投資へのコストが少なくて済みます。

64 ビット環境があらゆる状況下で理想的だとは限らない

64 ビット環境のデメリット

通常は、64 ビット サーバーには 32 ビット サーバーよりも大量の仮想メモリが必要です。64 ビット フレームワークは、プロセッサの数に基づくセグメント単位でメモリを予約します。原則として、4 プロセッサ サーバーには 5 GB 以上の仮想メモリを搭載し、8 プロセッサ サーバーには 6 GB 以上の仮想メモリを搭載する必要があります。

64 ビット アプリケーションが大容量の物理および仮想メモリにアクセスできるということは、アドレス テーブルが大きくなり、大量のデータ トランザクションでオーバーヘッドが生じる可能性があります。その結果、小さなタスクや繰り返しのタスクの処理は、32 ビット環境よりも若干遅くなることがあります。

使われていないサーバー機器の用途を変更して再利用することはよくあることです。このため、利用可能な 32 ビット サーバーが組織内に何台もある場合に、新しい 64 ビット ハードウェアを購入するだけの正当な理由を示すことは容易ではない場合もあります。新しい 64 ビット機器を購入するのか、古い 32 ビット サーバーの用途を変更するのかを選択する必要がある場合は、64 ビット サーバーとソフトウェアの使用によって将来的に削減できると見込まれる運用コストについてよく検討してください。

一部のサードパーティのソフトウェアや Office SharePoint Server 2007 機能は、64 ビット モードでは動作しません。ただし、SharePoint 製品とテクノロジは、将来的には 64 ビット操作用に最適化され、32 ビット環境はサポートされなくなる予定です。

64 ビット システムの展開

新しい展開

新しい 64 ビット ファームにおける Office SharePoint Server 2007 の展開は、32 ビットでの展開とほとんど違いはありません。新しい展開に利用できる計画ドキュメントには、64 ビットのハードウェアとソフトウェアによって強化された機能を最大限活用できるようにファームを構成するための情報が含まれています。64 ビット環境における Office SharePoint Server 2007 の計画と展開の詳細については、「Before You Begin with SharePoint Server 2007 (英語)」(https://go.microsoft.com/fwlink/?linkid=98564&clcid=0x411) を参照してください。

既存の展開のアップグレード

Office SharePoint Server 2007 展開全体を一度に 64 ビット サーバーに切り替える必要はありません。多くの場合、32 ビット サーバーと 64 ビット サーバーは、同じファーム内で快適に動作します。アップグレードを段階的に行うことで、アップグレードの全期間にわたってコストを分散し、移行中のサービスの継続性を維持することができます。

Office SharePoint Server 2007 を 64 ビット環境に移行する詳細な手順については、「既存のサーバー ファームを 64 ビット環境に移行する (Office SharePoint Server 2007)」を参照してください。

64 ビット サーバーの段階的な移行

64 ビット サーバーへの移行を一度に行うように選択した場合、この切り替えによって最大のメリットを得られるサーバーを調べておくとよいでしょう。サーバーを一定の順序で移行することによって、移行を最適化し、移行後すぐにパフォーマンスの向上による利点を活用することができます。以下に示すサーバーは、64 ビットサーバーへのアップグレードによるメリットの多い順に並んでします。

  1. データベース サーバー

    SQL Server は、大量のプロセッサとメモリを消費します。データベース サーバーがより多くのデータベースをサポートし、より多くの接続とトランザクションを処理することで、64 ビット サーバーへの移行による利点を直ちに活用できます。

  2. フロントエンド Web サーバーとアプリケーション サーバー

    メモリが増量された場合、ワーカー プロセスには常にメリットがあります。サーバー上で実行するサービスとアプリケーションの数が増えるほど、64 ビット環境によって提供される高度なメモリ管理や大容量のメモリによるメリットが大きくなります。フロントエンド Web サーバーを 64 ビット サーバーにアップグレードする場合には、必ずすべてのサーバーを同時にアップグレードしてください。

    32 ビットのフロントエンド Web サーバーと 64 ビットのフロントエンド Web サーバーを長期にわたり同じ展開内に混在させることはお勧めしません。一部のサーバーのパフォーマンスが他のサーバーよりも向上することで、サーバー間の負荷が不均衡になる可能性があります。

  3. Excel Calculation Services を実行するアプリケーション サーバー

    Excel Calculation Services は、CPU に非常に高い負荷をかけます。64 ビット プロセッサによる高速なアーキテクチャと外部データ バスにより、パフォーマンスが大幅に向上します。

  4. インデックス サーバー

    インデックス サーバーには、高速なプロセッサおよびディスク I/O が必要です。さらに、インデックス サーバーは、非常に多数の接続を同時に維持する必要があります。64 ビット アーキテクチャが提供する改良されたメモリ管理と大規模なデータ バスにより、クロール回数が削減されます。

  5. クエリ サーバー

    クエリ サーバーは、ファーム内で最もリソースを消費しないサーバーです。このため、64 ビット ハードウェアへのアップグレードによるメリットはさほどありません。ただし、クエリ サーバーで一度に大量の検索要求を処理する場合には、パフォーマンスが大幅に向上します。

64 ビットのハードウェア上の 32 ビット ソフトウェア

64 ビットのハードウェア上で、32 ビット ソフトウェアを実行することができます。64 ビット版の Windows Server には、WOW64 (Windows on Windows 64 ビット) 変換層が含まれているため、32 ビット オペレーティング システムをエミュレートできます。多くの場合、WOW64 により、32 ビット ソフトウェアと 64 ビット ソフトウェアを同時に同じコンピュータで実行できるようになります。ただし、64 ビット版の Windows Server 上で実行できるのは、64 ビット版の SharePoint 製品とテクノロジだけです。

32 ビット サーバーと 64 ビット サーバーの混在

32 ビット版と 64 ビット版のファームを混在させる場合に考慮する必要がある重要事項を以下に示します。

  • Windows Server 2003 で /3GB スイッチを使用しないこと

    4 GB の仮想アドレス空間を持つ 32 ビット サーバーでは、/3 GB スイッチが、カーネルからユーザー モード プロセスに 1 GB の仮想アドレス空間を転送することによってパフォーマンスを最適化できます。このような最適化は、使用可能なアドレス空間がカーネルに 1 GB しか残らないため、64 ビット ハードウェアに対しては推奨されません。64 ビット ハードウェアによって使用される大規模なアドレス テーブルが、アドレス空間を使い尽くしてしまうことがあります。その結果、コンピュータが不安定になる可能性があります。詳細については、マイクロソフト サポート技術情報の記事「Windows Server 2003 の/3 GB スイッチがされませんおよびでサポートされて Windows SharePoint Services 2.0 または以降のバージョンまたは SharePoint Portal Server 2003 SP2 で以降のバージョン」(https://go.microsoft.com/fwlink/?linkid=105919&clcid=0x411) を参照してください。

  • トポロジ層における 32 ビットまたは 64 ビットの均質性の確保

    各トポロジ層におけるアーキテクチャの均質性を確保すれば、32 ビット サーバーと 64 ビット サーバーが混在する Office SharePoint Server 2007 ファームを展開できます。たとえば、32 ビットのデータベース サーバーを 64 ビットのフロントエンド Web サーバーと共に使用したり、64 ビットのアプリケーション サーバーを Excel Services を実行する 32 ビット サーバーと共に使用したりすることができますただし、32 ビットと 64 ビットのフロントエンド Web サーバーを同じ展開内に混在させることはお勧めしません。

  • 32 ビット サーバーと 64 ビット サーバーを混在させると、ファームのメンテナンス オーバーヘッドが増大する可能性がある

    32 ビットと 64 ビットを混在させるシナリオでは、サードパーティのアプリケーション、カスタム ソリューション、ソフトウェア修正プログラム、更新プログラムなどをプラットフォームごとに個別に管理する必要があります。

要約

展開内の 32 ビット サーバーが適切に実行されていて、ユーザーによるサイト、アプリケーション、および検索要求の操作に問題がない場合は、Office SharePoint Server 2007 の展開を緊急に 64 ビットにアップグレードする必要はないと考えられます。ただし、サーバー ファームのパフォーマンスがユーザーや顧客の予想を下回っていたり、ユーザー ベースが急速に増大している場合や、アプリケーション プールのリサイクルの頻度が上がったり、近々機器のアップグレードを予定している場合は、発展しつつある新しい標準に向けて前進し、機器とソフトウェアを 64 ビットに移行する時期が到来しているのかもしれません。

関連項目

概念

インフラストラクチャの計画
パフォーマンスと容量を計画する (Office SharePoint Server)
システム要件
既存のサーバー ファームを 64 ビット環境に移行する (Office SharePoint Server 2007)