インターネット Web サーバー構築ガイドライン を読んだメモ 3
第六章:アプリケーションの実行環境を設定しよう
- ハンドラーがアプリケーションへのリクエストを処理する
PHP ゕプリケーションを実行できるようにするには、ハンドラーの設定で、「拡張子.php がリクエストされたら FastCGI を使用して php-cgi.exe を実行する」 というようにマッピングを行う。これをハンドラー マッピングと言う。
仮想ディレクトリ
- コンテンツのレスポンスに関する設定しか持っていない
アプリケーション
第九章:ログやトレースを活用しよう
-
- C:¥inetpub¥logs¥LogFiles
- Web, FTP サイト毎にフォルダーが分割され、その中に日付別に名前が付けられたファイルがある
- Http.sys によって出力される
- 自動的に削除はされない。ディスク容量の兼ね合いを見て手動で削除する必要がある
失敗した要求のトレース
- リクエストに対して行われる Web サーバー上の処理について、ファイルの種類や、処理時間、Web サーバーが返す HTTP ステータスを条件に、トレースログを取得することができる
ワーカープロセスの監視
- IIS への各リクエストは、ワーカープロセスと呼ばれるサーバープロセス上のスレッドとして処理される
- IIS では任意の数のワーカープロセスをホストすることが可能
- Web サイト、アプリケーションは、各々独自のワーカープロセスを使用することも、また、ひとつのワーカープロセスを共有して使用することも可能
ワーカープロセスとは、アプリケーションプールが実行された際のプロセスのこと
現在稼働しているワーカープロセスの一覧表示ができる
- ワーカープロセスで現在実行中の要求を表示することができる
- Windows の機能の有効化から インターネットインフォメーションサービス > World Wide Web サービス > 状態と診断 > 要求の監視 を有効にする必要あり
イベントログ
イベントログが記録されるとき
- プログラム(アプリケーション、サービス)が明示的にイベントログへ情報を出力している
- プログラムが内部で発生したエラーを処理できなかった場合
イベントビューアーで サブスクリプション を構成すると、リモート コンピューターからイベントを収集し、ローカル コンピューターのログに格納することができる
- 複数台のサーバーを集中して管理する場合に便利
- https://technet.microsoft.com/ja-jp/library/cc749183.aspx?f=255&MSPPError=-2147217396
第十章:動作状態の確認と性能向上
RSCA(Runtime Status and Control API: ルスカ) という実行状態を公開するためのインターフェースが IIS7 から開発された
- RequestMonitorModule (Iisreqs.dll) という IIS モジュールがインストールされていれば利用できる
コマンドからの管理系の操作は Windows PowerShell の利用が推奨
- アプリケーションプールの状態を知りたい
Get-WebAppPoolState プール名 開始済みの場合 Value ----- Started 停止の場合 Value ----- Stopped
- IIS ドライブを使う
IIS: PS IIS:\> dir Name ---- AppPools Sites SslBindings
タスクマネージャー
- 注目すべきプロセス
- inetinfo.exe IIS Admin Service のプロセス
- svchost.exe World Wide Web Publishing Service のプロセス
- w3wp.exe アプリケーションが動作するワーカープロセス
- w3wp.exe に一番注目
- ワーカープロセスは全て w3wp.exe の名前になっているので pid(プロセスID) から識別する
- タスクマネージャーで情報が足りない場合は Process Explorer を使う
- 注目すべきプロセス
パフォーマンスモニター
失敗した要求トレース
- 失敗した(HTTPステータスコード 400 以上)だけでなく、200 OK の正常終了のリクエストについても使用可能
- ASP.NET の場合は
Trace.Write
,Trace.Warn
を記述することで記録が残せる
HTTP 圧縮機能
- サーバーで圧縮を行い、対応しているブラウザで解凍する
- 静的コンテンツ、動的コンテンツの2種類に対してそれぞれ圧縮機能がある
- サーバーで圧縮処理を行うため、処理増加・ディスク I/O の状況によってはボトルネックになることもある