2009年5月15日 (金)

IIS のワーカプロセスとSharePiont

SharePoint を利用する上で、システム管理者もソリューション開発者もInternet Information Services 6.0(IIS)についての基礎知識は必要です。特に、ワーカプロセスとアプリケーション プールに関する理解は重要です。そこで、今回はこのことについて触れてみたいと思います。IIS 6.0 を前提にしていますが、Windows Server 2008 のIIS 7.0上でSharePoint を動作させる場合も、実際には下位互換モードであるクラシックモードで動作するため、IIS6.0での仕組みを理解しておくことがやはり重要です。

ワーカプロセスとアプリケーションプール

SharePoint  Server 2007 などの ASP.NET Web アプリケーションは IIS 上のワーカプロセスというプロセス内で動作します。既定では通常、アプリケーションは1つのワーカプロセス内で動作しますが、複数のワーカプロセス上で動作させることもできます。

ワーカプロセスは、ワーカプロセスひとつひとつを管理するのではなく、アプリケーション プール(w3wp.exe) という単位にまとめて管理します。アプリケーションプールはIIS上に複数作成できます。アプリケーション プール単位でアプリケーションがメモリを共有できるため、たとえば、AとBというアプリケーションはアプリケーションプール1で動作させ、Cというアプリケーションはアプリケーションプール2で動作させるというように設定をしておくこともできます。この場合、たとえば、Cというアプリケーションに何か不具合があったとしてもAやBのアプリケーションには影響しないように管理できます。

アプリケーションプールとIIS Webサイトとの関係

SharePoint サイトが利用しているアプリケーション プールは、IIS管理マネージャを起動し、サイトのプロパティにある「ホームディレクトリ」タブ内で確認できます。

Homedirectory_3

[図.ホームディレクトリタブ]

アプリケーションプールの設定は、プロパティで確認をします。たとえば、「識別」タブにはアプリケーション プールに割り当てられているアカウントを確認できます。

Apppoolid

[図.アプリケーションプールのプロパティ]

SharePointではアプリケーションプールに設定されているこのアカウントがコンテンツ データベースなどにアクセスをすることとなるため、むやみにアカウントを変更しないようにしてください。

先ほど説明した通り、アプリケーションの実行環境の管理単位がアプリケーションプールです。通常は、1アプリケーション プールあたり、1ワーカプロセスが存在していますが、1つのアプリケーション プールに複数のワーカプロセスを生成することも可能です。これが Webガーデンです。

Webgarden

[図.Webガーデンの設定]

さて、このWebガーデンですが、下記ドキュメントによるとSharePointではこれを利用するとページの出力キャッシュの面で悪影響がでるとのことで、既定値を変更しないようにした方がよいようです。

セキュリティ面での考慮

アプリケーション プールで使用するアカウントの利用については、次に示すMSDNの記事が大変参考になりますので、まだ読んでいない方は必読です。

SharePoint のセキュリティ アカウント
http://technet.microsoft.com/ja-jp/magazine/dd297618.aspx

トラックバック

このページのトラックバックURL: http://bb.lekumo.jp/t/trackback/718613/34255714

IIS のワーカプロセスとSharePiontを参照しているブログ:

コメント