Lotus Domino Web サーバーのパフォーマンス・チューニングと 問題判別 Lotus Technical Update Workshop 2010/4/8
by user
Comments
Transcript
Lotus Domino Web サーバーのパフォーマンス・チューニングと 問題判別 Lotus Technical Update Workshop 2010/4/8
® Lotus Domino Web サーバーのパフォーマンス・チューニングと 問題判別 Lotus Technical Update Workshop 2010/4/8 ISE Workplace, Core Collaboration Group 村上 雄介 © 2008 IBM Corporation IBM Software Group | Lotus software 特記事項 本資料の記載内容は、正式な IBM のテストやレビューを受けておりま せん。内容について、できる限り正確を期すよう努めてはおりますが、 いかなる明示または暗黙の保証も責任も負いかねます。本資料の 情報は、使用先の責任において使用されるべきものであることを、あ らかじめご了承ください。 掲載情報は不定期に変更されることもあります。他のメディア等に無 断で転載する事はご遠慮ください。 本資料の著作権は日本アイ・ビー・エムにあります。非営利目的の個 人利用の場合において、自由に使用してもかまいませんが、営利目 的の使用は禁止させていただきます。 IBM, AIX, Lotus, Lotus Notes, Lotus Domino は Internal Business Machines Corporation の米国およびその他の国における商標。そ の他、記載された社名および製品名は、それぞれ各社の商標また は登録商標です。 IBM Software Group | Lotus software Agenda Web サーバーのアーキテクチャ基本の理解 Lotus Domino Web サーバーにおける、パフォーマンス設定の考慮ポイント パフォーマンス問題が発生した場合 HTTP の問題判別の支援ツールご紹介 このセッションの目標: このセッションの目標: • •Web Webアーキテクチャの基本を理解する。 アーキテクチャの基本を理解する。 Domino • •Lotus Lotus DominoWeb Webサーバー設定のパフォーマンスへの影響ポイントを理解する。 サーバー設定のパフォーマンスへの影響ポイントを理解する。 • •Lotus LotusDomino DominoWeb Webサーバーの簡単なパフォーマンス問題判別が出来る サーバーの簡単なパフォーマンス問題判別が出来る HTTP の問題に関して、ツールを使った簡単な問題判別が出来る • • 一般的な 一般的な HTTP の問題に関して、ツールを使った簡単な問題判別が出来る IBM Software Group | Lotus software Web ブラウザと Web サーバーの関係 Web ブラウザ ヘッダー ボディ Web サーバーに対する要求内容などの 情報が記述されている クライアント側から送信するデータ Web 情報の要求の場合などは空 となる リクエスト・メッセージ プロトコル: HTTP(S) レスポンス・メッセージ Web クライアント Web サーバー ヘッダー ボディ Web サーバーの応答内容などの 情報が記述されている Web サーバーから返信するデータ。 HTML や画像データなど 4 IBM Software Group | Lotus software リクエスト・メッセージ Web ブラウザから Web サーバーに HTML ソースコードや画像ファイルなどの転送を要求するときに送信さ れるメッセージ リクエスト・メッセージ例 ヘッダー ボディ •リクエスト・ライン: •メソッド+ •リクエスト先 の URL + HTTP バージョ ン メソッドには、以下のようなものがある。 GET : ファイルの転送要求やデータ検索要求 POST : 特定のデータを Web サーバへ転送 PUT : Web サーバ上の指定したファイルを更新 DELETE : Web サーバ上の指定したファイルを削除 GET /homepage/index.html HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Accept: */* Accept-Language: ja Accept-Encoding: gzip, deflate Host: www.aaa.co.jp •リクエスト・ヘッダー: •Accept: • 対応可能なメディアの形式 •Accept-Language: • 対応する言語 •Accept-Encoding: • 対応可能なエンコード(圧縮)形式 •Host: • 要求先のサーバ名。 HTTP1.1 から必須となった 項目 5 IBM Software Group | Lotus software レスポンス・メッセージ Web ブラウザから送信されたリクエスト・メッセージに対する、 Web サーバーからの応答として送信されるメッ セージ レスポンス・メッセージ例 ヘッダー ボディ •ステータス・ライン: •HTTP バー ジョン+ •ステータス・ コード+ •ステータスの 内容 ステータス・コードには、以下のようなものがある。 200 : OK ( 処理成功 ) 202 : Accepted ( リクエストを受け付けたことを通知 ) 400 : BadRequest ( リクエスト・メッセージに誤りがある ) 404 : Not Found ( 要求されたファイルがない ) 500 : Internal Server Error (Web サーバのエラー ) HTTP/1.1 200 OK Server: Lotus-Domino Date: Tue, 09 Mar 2010 02:33:17 GMT Content-Length: 434 Content-Type: text/html Last-Modified: Wed, 19 Sep 2007 00:33:18 GMT <html> <head> <title>My Page</title> </head> <body> ・・・・・・・・・・・・・・・・・・・・・・ •ボディ: •Web サーバーから 返信するデー タ。 HTML など •レスポンス・ヘッダー: •Date: 日時 •Content-Length: ボディのデータ長(バイ ト) •Content-Type: ボディのファイルタイプ •Last-Modified: 最終更新日時 6 IBM Software Group | Lotus software Web サーバーの役割とは? Web サーバーは、クライアント (Web ブラウザ)からの要求を受け取り、必要なデータを HTML などの形でク ライアント側へ転送する役割を担っています。 Web ブラウザ ① URL を指定して HTML ソースを要求 ② Web ページの HTML ソースを送信 ようこそ、 私のホームページへ! ③ 受信した HTML ソースを解析し、文字情 報を表示した後、画像を表示する記述があれ ば画像データを要求 ようこそ、 私のホームページへ! Web サーバー ④ 画像データを転送 7 IBM Software Group | Lotus software 静的 Web ページと動的 Web ページ 静的 Web ページ処理 Web 情報の要求 HTML ソースや画像 データなどの転送 Web クライアント Web サーバー 動的 Web ページ処理 処理すべきデータの 送信 処理結果を HTML で転送 Web クライアント 処理を実行するた め Web アプリケー ション・サーバ上の プログラム実行 実行結果を表示す るために動的に HTML ソースを作 成 Web サーバー (Lotus Domino) 8 IBM Software Group | Lotus software Lotus Domino Web サーバー動作の概要 Domino サーバー HTTP Log Web クライアント HTTP リクエスト HTML JS CSS HTTP レスポンス (主に HTML ) H T T P DomLog Domino Web Engine 設計 表示・実行 HTML 文書 DB の設計と文書データから、 DB の設計と文書データから、 Domino サーバーが HTML を動 Domino サーバーが HTML を動 的に生成し、ブラウザに返信す 的に生成し、ブラウザに返信す る る DB IBM Software Group | Lotus software サーバーのパフォーマンスとは パフォーマンスの考え方 – 時間的側面:問題のないレスポンスタイムが提供出来る – 容量的側面:同時に処理出来るリクエスト数、ユーザーアクセス数など – 良好なパフォーマンスのために – サーバーの処理量を少なくする • 不要な処理を減らす このセッションでの このセッションでの – サーバーでの処理を多重化する ターゲット ターゲット • 余っているリソースを有効活用する – ・・・・・ – – サーバーリソースを増やす • 最後の手段・・・ – IBM Software Group | Lotus software パフォーマンスに影響する要素とは リソースの問題 – サーバー – クライアント – ネットワーク Lotus Domino サーバーの設定 – Lotus Domino サーバー全般に関わる設定 – Lotus Domino Web サーバー (HTTP タスク ) に関する設定 このセッションでの このセッションでの 主なターゲット 主なターゲット アプリケーションデータベースの設計 – DB プロパティ – Web アプリケーションとしてのデザイン アプリケーションデータ – 文書 – 添付ファイル IBM Software Group | Lotus software サーバー設定: HTTP スレッド (1) Lotus Domino サーバーの HTTP スレッド数(同時リクエスト処理数)を調整する – デフォルトのスレッド数は “ 40” ( サーバー文書 ) – サーバーリソースに余裕がある場合、通常以下の数値までは増やすことが可能 • 単一プロセッサーを搭載したサーバー: 64 • 複数プロセッサーを搭載したサーバー: 80 – スレッド数を増やす場合は、少しずつ ( 例: 10 ずつ ) 増やしていくことを推奨 – – 現在のスレッド数で余裕があるかどうかは、以下 の統計値 (show stat) で判断が可能 • Domino.Threads.Active.Peak – この統計値は、” NSF” 系の処理のみをカウントする ため、完全な意味でのスレッド利用数とは異なります。 • HTTP.PeakConnections – この統計値は、「接続数」のため、スレッド数を上回る可能性 があります。( Domino.Threads.Active.Peak はスレッド数) IBM Software Group | Lotus software サーバー設定: HTTP スレッド (2) Lotus Domino サーバーの HTTP スレッドモデルを調整する – HTTP リクエストが、どのスレッドによって実行されるかを調整する – notes.ini の HTTPQueueMethod パラメータを設定する – (=0). HTTP Worker スレッドへラウンドロビン形式で割り振り ( デフォルト ) – (=1). HTTP Worker スレッドの中で一番ネットワーク接続数の少ないものに割り振り – (=2). ネットワークバッファ上にキューイングし、 HTTP Worker スレッドがネットワークバッファからリクエス トを取得 – HTTP Worker スレッドへ直接割り振る場合、前のスレッド処理時間が長いと他のスレッドに空きが出 来ても処理を待ち続ける。 – 確実にリクエスト順に処理させたい場合は、 HTTPQueueMethod=2 とし、一度ネットワークバッファを 経由する必要がある。(同時に HTTP の持続的接続も無効にすることを推奨) • 負荷分散装置からの、生存確認リクエストへの応答など スレッド 1 Web クライアント リクエスト スレッド 2 HTTP Listner スレッド 3 ・ ・ スレッド n スレッドでキューイング (=0, =1) すると、 スレッドでキューイング (=0, =1) すると、 1 リクエストあたりの負荷のばらつきに 1 リクエストあたりの負荷のばらつきに よっては、スレッドごとの負荷に偏りが よっては、スレッドごとの負荷に偏りが 出来、他に空きスレッドがあっても有 出来、他に空きスレッドがあっても有 効活用出来ない可能性がある 効活用出来ない可能性がある IBM Software Group | Lotus software サーバー設定: HTTP 持続的接続 ステートレスな HTTP プロトコルにおいて、ネットワーク接続確立のオーバーヘッドを 緩和する機能 (HTTP1.1 keep-alive) – Web サーバーとブラウザとの間で、 1 回のコネクション確立後、同じ接続を使っ て複数回のリクエストが行える機能(接続確立・解放の負荷を軽減する) – Lotus Domino では、デフォルトは「有効」 (サーバー文書: [ インターネットプロトコ ル ]-[Domino Web Engine] ) HTTP 持続的接続を利用するかどうかの判断材料 – コネクション確立のオーバーヘッドは、一般的に低速回線の場合影響が大きく 、高速回線では影響が小さい。 – 同時アクセスクライアント数が非常に多いと、確立した接続が残りすぎてしまい 、新しいセッションの確立に対するオーバーヘッドが生じる可能性がある。 • Web ブラウザの同時接続数が非常に多い場合 – 前ページ HTTPQueueMethod=2 を利用する場合は、「無効」を推奨 IBM Software Group | Lotus software サーバー設定: Web エージェントの同時実行 重要! 重要! Web エージェントを同時実行する – デフォルトは同時実行が無効(サーバー文書: [ インターネットプロトコル ][Domino Web Engine] ) – 同時実行を有効にすると、個々の Web エージェントが、 HTTP タスクのス レッドを使い同時実行される。 ( WebQueryOpen, WebQuerySave, OpenAgent など) – 実行時間の長いエージェントが同時に多数実行されると、 HTTP スレッドを 占有し、その他のレスポンスに影響があるため注意。 (一方、同時実行しない場合は、エージェントの実行待ちが多数発生す る) – 多数のエージェントによるサーバーへの過負荷の影響に対して、タイムアウト 値を設定することが可能。 • ただしタイムアウトの場合は、ユーザーに「 HTTP Web Server: エージェントが設 定された時間内に完了しませんでした」という 500 エラーが出力される。 – デフォルト無効のため、 Web アプ デフォルト無効のため、 Web アプ リケーションサーバーのパフォーマ リケーションサーバーのパフォーマ ンスに注意が必要 ンスに注意が必要 IBM Software Group | Lotus software サーバー設定: HTTP ログ (1) HTTP ログの書き込み量を調整し、書き込み負荷を低減する。 ログの取得は 2 種類の方法が設定可能。テキスト形式を推奨。 – サーバー文書 [ インターネットプロトコル ]-[HTTP] で設定する。 – Domlog.nsf 形式は非推奨(索引処理負荷、 DB サイズなどの観点よ り) – 本番環境で HTTP ログが必要な場合は、テキストログファイルを推奨 実際のログの書き込 実際のログの書き込 みをヒントに、ログ ログ除外対象のフィルタ活用 みをヒントに、ログ が不要なリクエスト が不要なリクエスト – サーバー文書 [ インターネットプロトコル ]-[HTTP] で設定する。 はフィルタしてもよ はフィルタしてもよ – ログ書き込み量を減らし、サーバー負荷、ログサイズを軽減する。 い。 い。 – *.gif など、 URL パターンでの除外の実施 – image/gif など MIME タイプでの除外の実施 デフォルトではいずれも デフォルトではいずれも 無効。 HTTP ログを取得 無効。 HTTP ログを取得 する場合は、「ログファ する場合は、「ログファ イル」の利用を推奨。 イル」の利用を推奨。 IBM Software Group | Lotus software サーバー設定: HTTP ログ (2) テキストログ形式は、「共通」「共通(拡張)」の 2 種類が存在 – サーバー文書 [ インターネットプロトコル ]-[HTTP] で設定する – ファイルシステムにテキストファイルとして記録されるため、メンテナンスが必要 – 以下の 8-12 は「共通 ( 拡張 ) 」を設定した場合のみ出力(ただし、 8, 9 は「共 通」の場合、分割されたファイルに別途保存される。) 1. クライアント DNS 名、または DNS 名が利用不可の場合は IP アドレス 2. 要求のホストヘッダー、またはサーバーの IP アドレス (ホストヘッダーが利用不可の場合) 3. リモートユーザー (利用可能な場合) 4. 要求のタイムスタンプ 5. HTTP 要求行 6. HTTP 応答のステータスコード 7. 要求の内容の長さ。利用不可の場合は「-」で表示。 8. 参照 URL。利用不可の場合は「-」で表示。 9. ユーザーエージェント。利用不可の場合は「-」で表示。 10 .要求を処理する時間 (ミリ秒) 11. cookie ヘッダーの値 12. 変換された URL (実際のサーバーリソースのフルパス、利用可能な場合) リクエスト処理時間の出 リクエスト処理時間の出 力が、パフォーマンス問 力が、パフォーマンス問 題発生時に役立つ 題発生時に役立つ IBM Software Group | Lotus software ( 参考 )HTTP ログフォーマット 「共通」フォーマット 192.168.1.7 192.168.1.7elephant.iikura.japan.ibm.com elephant.iikura.japan.ibm.com- -[25/Jan/2010:13:04:27 [25/Jan/2010:13:04:27+0900] +0900] "GET "GET/mail/aelephan.nsf /mail/aelephan.nsfHTTP/1.1" HTTP/1.1"200 2004356 4356 – この他に、参照 URL 、ユーザーエージェントのログファイルに、別途記録され る。 「共通(拡張)」フォーマット – 1 リクエストに対するログ量が増える(特に Cookie のサイズが大きい可能性 がある)ため、ログサイズに注意 192.168.1.7 elephant.iikura.japan.ibm.com "CN=Admin Elephant/O=MISE85" 192.168.1.7 elephant.iikura.japan.ibm.com "CN=Admin Elephant/O=MISE85" [31/Mar/2010:18:29:29 +0900] "GET /mail/aelephan.nsf HTTP/1.1" 200 1825 "" [31/Mar/2010:18:29:29 +0900] "GET /mail/aelephan.nsf HTTP/1.1" 200 1825 "" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.2) Gecko/20100316 "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2" 4953 "cookie...." "d:/lotus/domino/data/mail/aelephan.nsf" Firefox/3.6.2" 4953 "cookie...." "d:/lotus/domino/data/mail/aelephan.nsf" IBM Software Group | Lotus software サーバー設定: DNS 参照 重要! 重要! DNS 参照を無効にする – 有効にした場合、 HTTP ログに記録される IP アドレスが、 DNS を参照 の上ホスト名として記録される。 – パフォーマンスの観点から、無効にすることを強く推奨(デフォルト無効) 無効 有効 IBM Software Group | Lotus software サーバー設定:最大投稿データサイズ 添付ファイルなど、投稿 (=POST) 可能な最大データを定義 – サーバー文書 [ インターネットプロトコル ]-[Domino Web Engine] で 設定する – よくある設定は 10MB 。予期せぬユーザー操作による、サーバーパフォーマ ンス問題への事前対策として、無制限 (=0) での設定は非推奨。 – Lotus iNotes の場合は、別途 iNotes の制限との兼ね合いあり。 • Lotus iNotes で送信可能な添付ファイルサイズは、サーバー設定文書の Lotus iNotes タブで定義したものがまずは使われる。 • Lotus iNotes におけるファイル送信サイズ制限は、この Lotus iNotes タブでの 設定を推奨。(「 iNotes の最大値」≦「 HTTP の最大値」で設定する) – 1 文書に添付ファイルが複数あった場合は、1つのファイルの最大値を表す HTTP での制 限HTTP での制 限 Lotus iNotes Lotus iNotes での制限 での制限 IBM Software Group | Lotus software サーバー設定: 静的コンテンツへの gzip 圧縮の適用 (8.5 新機能 ) ファイルシステム上の静的コンテンツ (HTML, CSS などのファイル ) に対し て、 HTTP1.1 の gzip 圧縮機能を適用して転送することが可能 – コンテンツは圧縮されてブラウザへ送信され、ブラウザは解凍して表示する。 通信負荷の低減に有効。 設定方法 – 「元ファイル名 .gz 」という gzip 圧縮ファイルを配置しておく。 (Lotus Domino 8.5) • Lotus Domino 8.5.1 以降では、 gz ファイルが存在しない場合に動的生成して 配置させることも可能 – インターネットサイト文書で、細かい設定変更が可能。 (Lotus Domino 8.5.1 以降 ) 考慮点 – MIME Content-Type が、テキストファイル (text/*) 、アプリケーションファイル (application/*) であるものに有効 (8.5.1 以降では設定可能 ) – ブラウザが HTTP1.1 対応であり、リクエストヘッダーに「 Accept-Encoding: gzip 」が含まれる必要がある(通常デフォルト) – バイトレンジ転送には非対応 IBM Software Group | Lotus software 静的コンテンツへの gzip 適用 gzip 圧縮無効 Web ブラウザ 静的 ファイル Accept-Encoding:gzip HTTP レスポンス データ gzip 圧縮有効 静的 ファイル ブラウザが解 ブラウザが解 凍して表示 凍して表示 Accept-Encoding:gzip Domino サーバー 静的 ファイル Content-Enconding:gzip gz 解凍・表示 静的 ファイル /html/file.xxx 表示 Web ブラウザ Domino サーバー gz gz データがそ gz データがそ のまま流れる のまま流れる 事前配置 (8.5) 事前配置(8.5.1) (8.5) 自動配置 自動配置 (8.5.1) /html/file.xxx /html/file.xxx.gz IBM Software Group | Lotus software ( 参考 ) 静的ファイルの gzip 圧縮例 サーバーからクライアントへの転送バイト数が圧縮効果で減少する。 – 以下の例では、 2474 バイト⇒ 518 バイト GET /test.html HTTP/1.1 GET /test.html HTTP/1.1 GETelephant.iikura.japan.ibm.com /test.html HTTP/1.1 GETelephant.iikura.japan.ibm.com /test.html HTTP/1.1 Host: Host: Host: elephant.iikura.japan.ibm.com Host: elephant.iikura.japan.ibm.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 Accept: Accept: Accept: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q= text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q= text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q= text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q= 0.8 0.8 0.8 0.8 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Encoding: gzip,deflate Accept-Encoding: gzip,deflate Accept-Encoding: gzip,deflate Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7 Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7 Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7 Accept-Charset: Keep-Alive: 115 Keep-Alive: 115 Shift_JIS,utf-8;q=0.7,*;q=0.7 Keep-Alive:keep-alive 115 Keep-Alive: 115 Connection: Connection: keep-alive Connection: keep-alive Connection: keep-alive If-Modified-Since: Mon, 29 Mar 2010 23:48:26 GMT If-Modified-Since: Mon, 29 Mar 2010 23:48:26 GMT If-Modified-Since: Mon, 29 Mar 2010 23:48:26 GMT If-Modified-Since: Mon, 29 Mar 2010 23:48:26 GMT Cache-Control: max-age=0 Cache-Control: max-age=0 Cache-Control: max-age=0 Cache-Control: max-age=0 HTTP/1.1 200 OK HTTP/1.1 200 OK Server: Lotus-Domino Server: Date: Tue,Lotus-Domino 30 Mar 2010 09:10:48 GMT Date: Tue, 30text/html Mar 2010 09:10:48 GMT Content-Type: Content-Type: Content-Length: text/html 2474 Content-Length: 2474 Last-Modified: Mon, 29 Mar 2010 23:48:26 GMT Last-Modified: Mon, Accept-Ranges: bytes29 Mar 2010 23:48:26 GMT Accept-Ranges: bytes gzip 圧縮無効 HTTP/1.1 200 OK HTTP/1.1 200 OK Server: Lotus-Domino Server: Date: Tue,Lotus-Domino 30 Mar 2010 09:11:38 GMT Date: Tue, 30text/html Mar 2010 09:11:38 GMT Content-Type: Content-Type: text/html Content-Encoding: gzip Content-Encoding: Content-Length: 518 gzip Content-Length: 518 Last-Modified: Mon, 29 Mar 2010 23:48:26 GMT Last-Modified: Mon, 29 Mar 2010 23:48:26 GMT gzip 圧縮有効 IBM Software Group | Lotus software サーバー設定: Web サーバーへの gzip の適用 (8.5.1 新機能 ) Lotus Domino Web サーバーの出力に対して、 gzip 圧縮を適用することが可 能。(任意の文書、出力コンテンツに対して、動的に gzip 圧縮する) インターネットサイト文書で設定 – gzip 適用対象、除外対象の MIME タイプが設定可能 – 圧縮の有効性が低い種類のファイルは、除外したほうがよい (例: application/pdf など) サーバー、クライアントの CPU 処理能力、ネットワーク転送量とのトレードオフ – IBM Software Group | Lotus software サーバー設定:不要なモジュールのロードを停止する DSAPI フィルタ – DOLS など利用しない場合 Domino Servlet Manager – DJX Web アドレス帳サーブレットなど利用しない場合 XML サービス – WebSphere Portal の PIM ポートレットを利用しない場合 IBM Software Group | Lotus software アプリケーションデータベースの最適化 重要! 重要! アプリケーション設計によるパフォーマンスへの影響は大きい 主な考慮点 – Web エージェントの多用を避ける • OpenAgent 、 WebQueryOpen の多用を極力避ける – フォーム上での計算量を減らす • 複雑な計算結果フィールドなどを避ける • @DBLookup の最適化 – Notes/Web ハイブリッドタイプを利用時の、非表示プロパティ • 設計要素を Notes と Web で分割することが推奨 – JavaScript を活用した操作性 • サーバーサイドでの処理をクライアント処理とすることによる、快適な操作性の 提供 – 読者フィールドとビュー • 読者フィールドを多用しているビューは、 Web アプリケーションにおいても大き なサーバー負荷 IBM Software Group | Lotus software アプリケーション:データベースプロパティ 未読マークを使用しない – 一般的に、 Web アプリケーションでは、未読機能を利用しないため。 (Lotus iNotes を除く ) – Lotus Notes クライアントと、 Web ブラウザの両方からアクセスするタイプ のアプリケーションでは、未読機能を利用する可能性もあるため注意 – 有効にした場合、エージェントの実行時間 に影響がある場合がある。 IBM Software Group | Lotus software アプリケーション: expires ヘッダの利用 変更が一切発生しないファイル(例:アイコン画像など)を、 Web ブラウザに キャッシュし、サーバーへのリクエスト自体を発生させない。 – サーバーが処理するリクエスト数が減少する – 万が一、変更が必要になった場合は、ファイル名を変更するなり、再 キャッシュをさせる必要がある Web サイトルール文書で設定を行う – キャッシュさせる URL パターン、 HTTP 応答コードに対して、キャッシュ期 間を設定する IBM Software Group | Lotus software アプリケーション:リクエスト数の削減 Lotus Domino サーバーへの、不要な HTTP リクエスト数を減らす アプリケーションの表示を集約したポータルページでは、 1 回のポータルページ へのリクエストから、ポートレット数分の接続要求が発生する。 – 特にポータルのトップページでは、本当に必要なポートレットのみを配置し 、バックエンドの負荷を軽減するように工夫する。 ポータルページ エージェント呼び出し メール エージェント 呼び出し 掲示板 1 掲示板 2 1 枚のポータル 1 枚のポータル ページから、 ページから、 バックエンドへ バックエンドへ 複数本のリクエ 複数本のリクエ ストが発生 ストが発生 Lotus Domino IBM Software Group | Lotus software アプリケーションデータ:添付ファイルの非圧縮 添付ファイルは、 Lotus Notes 標準の圧縮機能を利用しないことを推奨 – 圧縮されて添付されたファイルは、 HTTP1.1 のバイトレンジ転送が提供 されない。 – 圧縮された添付ファイルを、 Lotus Domino Web サーバーは一時的に展 開して各 Web クライアントに提供するため、サーバーに過剰負荷が発 生する。 Lotus Notes クライアントで添付ファイルを作成すると、デフォルトで添付ファイ ルが自動的に圧縮されるため注意 – Lotus Notes クライアントでコンテンツを作成し、 Web で情報提供する 場合は、コンテンツ作成者のオペレーションに注意が必要 – Lotus Notes クライアントの添付ファイル作成メニューで「 compress 」オ プションを外す必要あり バイトレンジ転送: HTTP1.1 の機能で、 Ranges に関す る HTTP ヘッダを使い、接続途中の エラーなどでリソースが取得出来な いときに、その続きからをリクエス ト出来る機能 ファイル添付時 ファイル添付時 に、チェックを に、チェックを 外す必要あり 外す必要あり IBM Software Group | Lotus software ( 参考 ) 添付ファイルの圧縮について データベースの設定に応じて、 Lotus Notes クライアントは添付ファイルを自 動で圧縮する。圧縮結果は、文書プロパティで参照可能。 圧縮無効 圧縮無効 Web ブラウザ向きのファイ Web ブラウザ向きのファイ ル格納方法 ル格納方法 圧縮有効 圧縮有効 Lotus Notes クライアント向 Lotus Notes クライアント向 きのファイル格納方法 きのファイル格納方法 IBM Software Group | Lotus software アプリケーションデータ:リッチテキストイメージの最適化 リッチテキストフィールドに貼り付けるイメージサイズを最適化することを推奨 – Lotus Notes クライアントから、ビットマップや Excel などのデータを貼り付けた場合に、文 書が非常に大きくなることがある。 • Web の場合、画像データは、サーバー文書の設定に従い、圧縮された画像フォーマット(デフォ ルトでは GIF) で送付されるため、ネットワーク負荷としては変わらない。 • Lotus Domino Web サーバーの変換負荷軽減が目的 – Web コンテンツを作成する Lotus Notes クライアント上で、自動的に最適化することを 推奨。 • 対象となる Lotus Notes クライアントに、以下を設定する – notes.ini パラメータ、 OptimizeImagePasteSize=1 の設定 – Lotus Notes 8.5 以降の場合は、ユーザープリファレンスの「文書内に貼り付けた画像データを圧縮 する」が有効になっていればよい(デフォルト) Web ブラウザ Domino Web が変換 Domino Web が変換 する。サイズが大き する。サイズが大き いとメモリ読み込み いとメモリ読み込み などの負荷影響が大 などの負荷影響が大 きい きい GIF データ 流れるデータは減色 流れるデータは減色 フォーマット フォーマット H T T P サイズ大 画像 サイズ小 画像 同じ内容でもサイズ 同じ内容でもサイズ が大きくなるかは、 が大きくなるかは、 クライアントの設定 クライアントの設定 次第 次第 IBM Software Group | Lotus software Lotus iNotes 特有のチューニング要素 基本的には、 Lotus Domino Web サーバーとしてのチューニングを実施 – HTTP スレッド動作の調整、アイコンキャッシュ、 gzip 圧縮の ON/OFF など その他のチューニング項目 – メールサーバーとしてのチューニング • mail.box を複数用意する • 巨大なメールデータベース(特に受信ボックスフォルダ)に注意する – iNotes 特有のチューニング • 子ウィンドウの再利用 (Lotus Domino Web Access 8.0.x まで ) • プリフェッチ機能の有効化 (Lotus iNotes 8.5.1 新機能 / デフォルト無効 ) – iNotes_WA_PrefetchDocuments (=1 で表示している全未読文書、 =2 で表示してい る全文書 ) • アラーム設定の解除 / 間隔調整 • 名前検索結果数の制限 – notes.ini iNotes_WA_NameLookupMaxNumMatch で調整(デフォルト 200 ) • タイプアヘッド関連パラメータ – notes.ini がいくつか存在(管理ヘルプ参照) • 根本要素として、クライアント端末のスペック にも注意 • IBM Software Group | Lotus software Lotus Domino Web 利用時に、是非確認しておきたいこと サーバーの設定 – DNS 参照はオフになっているか – エージェントの同時実行は有効になっているか – HTTPQueueMethod は、何を使うのがサイト運営に最適か( =2 にする必要があるか ) – HTTP ログの取得方法、運用方法は明確になっているか – Collect タスク、もしくは定期的な show stat の実行など、今後の診断用のデータが取得されて いるかどうか アプリケーションの確認 – データベースプロパティの未読オプションがオフになっているか – ポータルページのポートレット数は、最適化されているかどうか コンテンツの提供方法 – 提供コンテンツの作成は、 Lotus Notes クライアント /Web ブラウザのどちらから実施するか – Lotus Notes クライアントで作成する場合は、作成する Lotus Notes の設定、および作成者へ の教育が行き届いているか これとは別途、一般的な問題判別を容易にする環境の生成を推奨 – debug_threadid 、セマフォログ、コンソールログ IBM Software Group | Lotus software パフォーマンス問題発生時の確認項目 基本的な切り分けを実施し、問題点を見極める。 サーバー、アプリケーションの場合は、問題を見極め、 Lotus Domino の設定・ DB 設計を チューニングする。 サーバーのリソース使用状況 サーバーの問題 サーバーの HTTP スレッド使用状況 特定操作のみが遅いかどうか 特定 DB のみが遅いかどうか 別のロケーションからでも遅いか ブラウザの Proxy を外しても遅いか 最新スペックのクライアントでも遅いか 別の種類のブラウザでも遅いか アプリケーションの問題 ネットワーク /proxy の問題 クライアント / ブラウザの問 題 •その他 •パフォーマンス問題発生前後でのシ ステム変更点 •パフォーマンス問題発生の時間帯 •発生時のアクション・再現性 •などにも注目 IBM Software Group | Lotus software HTTP のスレッドの状態を確認する コンソールから、 HTTP スレッドの現在の状態を確認する(スナップショット) – “tell http show thread state” を実行する – コマンド実行時の HTTP スレッドの処理状況が出力される – HTTP タスクの処理状態が把握出来る 1 つのスレッド • リクエストの多いデータベース • Web エージェントの処理状況 • スレッドを使い果たしているかどうか – 何回か実行して取得することを推奨 1 つのスレッド で、エージェン で、エージェン トが処理中 トが処理中 > tell http show thread state 2010/03/26 21:07:36 Http Worker Thread ID [fc8]: Working session [b]: Session State [Processing Request] : GET /test.nsf/WebTest?OpenAgent HTTP/1.1 2010/03/26 21:07:36 Http Worker Thread ID [1158]: [Thread State is Idle] 2010/03/26 21:07:36 Http Worker Thread ID [1198]: [Thread State is Idle] 2010/03/26 21:07:36 Http Worker Thread ID [23e4]: [Thread State is Idle] 2010/03/26 21:07:36 Http Worker Thread ID [1dd8]: [Thread State is Idle] 2010/03/26 21:07:36 Http Worker Thread ID [1b84]: [Thread State is Idle] 2010/03/26 21:07:36 Http Worker Thread ID [27f8]: [Thread State is Idle] 2010/03/26 21:07:36 Http Worker Thread ID [ed0]: [Thread State is Idle] ・・・・(中略)・・・・・・・ 2010/03/26 21:07:36 Http Worker Thread ID [1c18]: [Thread State is Idle] 2010/03/26 21:07:36 Http Logger Thread: Queued=[30], Written=[30], Last Pushback=[0 ms] 実行結果のサンプル IBM Software Group | Lotus software レスポンスの悪いリクエストを把握する ( サーバー ) テキストログ(拡張)を解析し、レスポンスタイムの悪いリクエストを把握する。 – テキストログの 10 列目に、各リクエストのレスポンスタイム (msec) が記録 されている。 – テキスト解析の出来るツールを使い、 10 列目でソートすることで、レスポ ンスタイムの悪いリクエストが把握可能 • 専用ツールがなくても、表計算ソフトを利用し、スペースを区切り文字として ログを読み込むことで解析可能 表計算ソフトを使った、レスポンスタイムの比較例 IBM Software Group | Lotus software レスポンスの悪いリクエストを把握する(クライアント) 特定の Web ページを閲覧するタイミングで、 Web ブラウザ側で時間測定が可 能なツールを利用する。 – 例: Firefox Firebug を使い、時間がかかるリクエストを把握する。 IBM Software Group | Lotus software 処理の遅いエージェントの中身を解析する 明らかにエージェント処理の実行時間に問題がありそうなときに、エージェントの実 行プロファイルを取得する 実行したエージェントの各メソッドに対し、コール回数・時間が記録される – エージェントの実行で、どの処理に時間がかかっているかを把握可能 – Lotus Domino Designer でプロファイルを設定し、実行後に結果を表示する 実行結果のサンプル IBM Software Group | Lotus software 現場で出来る、 HTTP 問題判別 クラッシュ・ハングなどの問題 – NSD ログ、 コンソールログ、セマフォログなどを取得の上、ロータスサポートへの 解析依頼を推奨 表示・実行エラー、ブラウザエラーなどの問題 – 期待したように表示がされない – 類似のリクエストを投げた時の表示結果・動作結果が異なる – ブラウザ上でエラーが発生する。 – ⇒ これらの問題は、 HTTP/Web 関連の情報を取得することで、現場でも対 処が可能。 • HTTP の送受信内容を確認する • HTTP ヘッダー( URL, Cookie など ) 、 POST メッセージ、応答メッセージなどを把 握する • 応答メッセージの HTML の内容を確認する • JavaScript の動作デバッグを行う Web Web用デバッグツールを使って、問題判別 用デバッグツールを使って、問題判別 IBM Software Group | Lotus software HTTP ヘッダーの確認 リクエストの URL を確認する – ブラウザが送信しているリクエストの URL を確認する • ブラウザのアドレスバーだけでは不明な場合 – 同じような操作で、表示結果・動作結果が異なる場合など • 実際に URL を見ると、異なる URL へリクエストしているケースが多い Cookie を確認する – 認証の問題 • セッション認証が上手く利かない場合など。まずは Cookie をサーバーに投げているかを確 認する。 GET /test.html HTTP/1.1 応答コードを確認する Host: elephant.iikura.japan.ibm.com – 期待通りの結果が返っているかどうかの確認 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Accept-Encoding: gzip,deflate Keep-Alive: 115 ツールを利用する Connection: keep-alive Cookie: XXXX – ieHttpHeaders HTTP/1.1 200 OK – Firebug, LiveHTTPHeader (Firefox) Server: Lotus-Domino – Fiddler Date: Mon, 05 Apr 2010 02:14:19 GMT Content-Type: text/html – など、様々存在する補助ツールを活用 Content-Encoding: gzip Content-Length: 518 Last-Modified: Mon, 29 Mar 2010 23:48:26 GMT IBM Software Group | Lotus software ツールを使ったヘッダ確認例 Firefox + Firebug を使った確認例 個々の HTTP リクエストに対する、リクエスト・レス 個々の HTTP リクエストに対する、リクエスト・レス ポンスヘッダが出力され、リクエストの URL ポンスヘッダが出力され、リクエストの や、 Cookie 、応答コードなどが確認可能 URL や、 Cookie 、応答コードなどが確認可能 IBM Software Group | Lotus software 出力 HTML の確認 Domino が期待する HTML を生成しているかを確認する ブラウザからソースを確認する程度でもよい DOM ツリー出力、 CSS 適用判定などが可能な補助ツールを使ってもよい – Firefox Firebug 、 IE Developer Toolbar など 期待する HTML が生成されているかどうかを確認する。 期待する HTML が生成されているかどうかを確認する。 ツールによっては、 HTML ソースが画面のどの部分に ツールによっては、 HTML ソースが画面のどの部分に あたるかを確認することが可能。 あたるかを確認することが可能。 IBM Software Group | Lotus software Fiddler とは? Web ブラウザと Web サーバ間で、プロキシーとして動作することで、 HTTP(S) の通信内容をキャプチャーし 、それを解析して HTTP やデータに関する情報を表示してくれるツール。 問題発生時の Web ブラウザと Web サーバ間のリクエストデータおよびレスポンスデータを解析することで問 題切り分けの手助けになったり、製品トレースやログと照合することで障害解決のための有効な情報をも たらすことが可能。 •Fiddler が起動すると自動的に以下が、 IE に対して設定される。また、 Fiddler を終了 すると自動的に設定が基に戻される。 •「 LAN にプロキシ サーバーを使用する」が使用可 •HTTP に関して、プロキシのアドレスが、 127.0.0.1 、ポート番号 8888 が設定 •HTTPS に関して、プロキシのアドレスが、 127.0.0.1 、ポート番号 8888 が設定 Web クライアント リクエスト メッセージ Web ブラウザ Fiddler レスポンス メッセージ Web サーバ 44 IBM Software Group | Lotus software Lotus Domino との連携 Web ブラウザ・ベースの Lotus iNotes や Lotus Domino Web Access (DWA) であれば、 Web アプリ ケーションと同等なため Fiddler をプロキシーとして配置することで、 HTTP(S) の通信内容をキャプ チャーすることが可能である。このため、障害時の解析にも使用することができる。 Lotus Domino サーバ Web クライアント Domino データベー スへアクセス Domino データベー スのページ要求 Web ブラウザ ・ Lotus iNotes ・ Lotus Domino Web Access(DWA) HTTP タスク Fiddler 処理結果を HTML で転送 Notes 文書を HTML に変換 45 IBM Software Group | Lotus software Fiddler の導入 以下のサイトからダウンロード可能 http://www.fiddler2.com/fiddler2/ FireFox の場合 •システム要件: •Windows 2000/XP/2003/Vista/Win7 •Microsoft .NET Framework v2.0 以上 •8 MB ディスク・スペース •800 MHz プロセッサー (Screams at 2.4ghz) 以上 •256 MB RAM (1GB 以上推奨 ) • • Internet Explorer の場合 Fiddler 導入後、自動的に Internet Explorer にアイコンが追加され、ここをクリック することで Fiddler が起動する FireFox 3.5 以上の場合、画面右下のオプションを 「 Use Fiddler automatically 」に設定すること で、 Fiddler を起動すると FireFox でも使用可能 46 IBM Software Group | Lotus software Fiddler の使用法 – リクエスト一覧の確認 アクセスしたデータがステータスコード、プロトコ ル、 URL とともにリアルタイムで表示される。 47 IBM Software Group | Lotus software ( 参考 )Fiddler の使用法 – ICON の詳細 •リクエストがサーバーに送信されている最中 •サーバーからのレスポンスを受信している最中 •リクエストがブレークポイントによって停止中 •レスポンスがブレークポイントによって停止中 •リクエストに HTTP HEAD メソッドを使用 •リクエストに HTTP CONNECT メソッドを使用 (HTTPS トラフィック ) •HTML のレスポンス •イメージのレスポンス •スクリプトのレスポンス •CSS のレスポンス •XML のレスポンス •OK のレスポンス •HTTP/300 、 301 、 302 、 303 または 307 のレスポンス •HTTP/304 ( キャッシュが使用される ) のレスポンス •クライアント・クレデンシャルに関するレスポンス •サーバー・エラーのレスポンス •セッションがクライアント、 Fiddler またはサーバーによって中断 48 IBM Software Group | Lotus software Fiddler の使用法 – ヘッダー情報の確認 サーバとの間でやり取りされたセッションごとの ヘッダー情報を見ることができる。 「 Inspectors 」 -> 「 Headers 」で表示可能 上がクライアントからサーバへのリクエスト・ヘッ ダーを示し、下がサーバからクライアントへのレ スポンス・ヘッダーを示す。 49 IBM Software Group | Lotus software Fiddler の使用法 – データの中身の確認 (1) ヘッダーおよびボディ部分を含む、実際のクライ アント、サーバ間のやり取りを確認する場合は 、「 Raw 」を選択する。 「 TextView 」を選択すると、そのセッションのボ ディ部分のテキストを確認することが可能。 Web ページならば HTML を確認できる。 50 IBM Software Group | Lotus software Fiddler の使用法 – データの中身の確認 (2) 「 View in Notepad 」ボタンを押すとメモ帳を起動する ことで中身の内容確認が可能。 「 TextView 」の場合のみ「・・・」ボタンがあり、ボディ部 分を好みのプログラムで表示することが可能 51 IBM Software Group | Lotus software Fiddler の使用法 – フィルタリング (1) 図1 図2 図1のような画面の場合、図2の ようなセッションのやり取りが実施 されている。 画像ファイルを表示したくない場 合、「 Filters 」タブから「 Use Filters 」にチェックして「 Response Type and Size 」内から「 Hide IMAGE/* 」を選択すると図3のよ うに画像ファイルがフィルターされた セッションのみが表示される。 また、特定のホストのみを記録す ることも可能 図3 52 IBM Software Group | Lotus software Fiddler の使用法 – フィルタリング (2) ここでは、さらに、一定のサイズ以上または以下のファイ ルやスクリプト、画像、 SWF (Small Web Format) 、 CSS をブロックする機能があり、これらにチェッ クすると前ページの図1の画面は、上のような画面表示 となる。 53 IBM Software Group | Lotus software Fiddler の使用法 – ブレークポイントの使用 左図のように「 Filters 」タブから「 Breakpoints 」内の項目に チェック(ここでは、 POST がリクエストされた時とレスポンス・ヘッ ダーの Content-Type に application/x-javascript; charset=ISO-8859-1 が設定されている時)すると、指定され た内容を検知すると上図のように通信が停止し、ブラウザも読 み込み中の状態となる。 「 Break on Response 」ボタンで、レスポンスまで実行し再度 停止する。 「 Run to Completion 」で再開する。 54 IBM Software Group | Lotus software Fiddler の使用法 – リクエストを自分で送る •サーバへのリクエストを自分で作成することが可能 •「 Request Builder 」からリクエスト・メソッド、 URL および送りたい ヘッダーを記述して「 Execute 」ボタンで実行可能 •左のリクエスト一覧からセッションを選択して右のカラムへドラッグ& ドロップも可能 リクエスト・ヘッダー 部分の記述 ボディ部分の記述 55 IBM Software Group | Lotus software Fiddler の使用法 – ローカル・ファイルを割り当てる •特定の URL に対して、ローカルのファイルを割り当てることが可能 •「 AutoResponder 」から特定の URI を指定し、その URI のリクエストがあった 時に、ローカルに保存したファイルを使用するようにできる。 •サーバ上に変更毎に CSS ファイルをアップロードしなくても、 CSS 変更程度 の確認ならローカル作業で実施することが可能 •例では、オリジナルの jpg ファイルを別の jpg ファイルに置き換えている 「 Rule Editor 」を使用して正規表 現も可能 regex:(?insx).*\.(gif|png|jpg)$ #Match strings ending with img types 56 IBM Software Group | Lotus software Fiddler の使用法 – HTTPS を使用する HTTPS トラフィックの復号化を実施したい場合は、 Fiddler メニューの「 Tools 」 -> 「 Fiddler Options 」から「 HTTPS 」タブを選択して「 Capture HTTPS CONNECTs 」にチェックし、「 Decrypt HTTPS traffic 」と「 Ignore server certificate errors 」にチェックする 57 IBM Software Group | Lotus software Fiddler の使用法 – GZIP されたコンテンツの確認 レスポンス・データ内に GZIP されたデータが含まれ ている場合、レスポンス・データ上部に「 Response is encoded and may need to be decoded before inspection. Click here to transform 」とい うメッセージが表示される。 ここをクリックすると解凍される。 58 IBM Software Group | Lotus software Fiddler の使用法 – 統計情報の確認 (1) 「 Statistics 」タブから統計情報を確認することが可能 上の例から Request Count : Bytes Sent : Bytes Received : 26 37547 363291 Request Started at : 18:37:14:4375 Request Completed at : 18:37:55:1562 セッション1から30までの経過時間は、 40.7 秒となっている。 59 IBM Software Group | Lotus software Fiddler の使用法 – 統計情報の確認 (2) 「 Statistics 」タブの最下部に「 Show Chart 」とい うリンクがあるので、それをクリックすることで、以下 のようなセッション1からセッション30までの全リクエ ストの内訳が確認できる 60 IBM Software Group | Lotus software Fiddler の使用法 – ログの取得 Fiddler メニューの「 File 」から「 Save 」 -> 「 All Sessions 」などを選択すると表示されている全セッ ション・データを取得できる。 この際、 SAZ 形式のファイルとして適当なローカ ル・フォルダーに保存が可能 61 IBM Software Group | Lotus software Fiddler の使用法 – 取得したログの確認 Fiddler メニューの「 File 」から「 Load Archive 」を 選択すると取得したログ・ファイルを選択する画面 が表示される。 ログ・ファイルを選択すると Fiddler 上に取得した 全セッション・データが展開される。 62 IBM Software Group | Lotus software 参考文献 IBM Redbooks | Domino 7 Performance Tuning Best Practices to Get the Most Out of Your Domino Infrastructure http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/redp4182.html Domino アプリケーションのパフォーマンスに関する考慮事項 http://www.ibm.com/jp/support/redbooks/Lotus/SG88851100.pdf Lotus Domino 6 以降のバージョンにアップグレードしたあと、 HTTP タスクの応答に時間がかか る場合がある http://www.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/728131 IBM - Domino HTTP Active Thread recommendations http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg21173877 IBM - Should the Domino HTTP server be configured to use Persistent Connections? http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg21258823 (参考) DWA のパフォーマンス問題に対するトラブルシューティング http://www.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/729494 IBM ソフトウェア | Lotus Notes/Domino 問題判別ガイド 2 章 基本設定と事前確認 http://www-06.ibm.com/jp/domino02/software/lotus/support/pdguide/pdguide.nsf/index/c2?Ope IBM Software Group | Lotus software 参考文献 Firebug :: Add-ons for Firefox https://addons.mozilla.org/ja/firefox/addon/1843 DWA 問題判別:リクエストログの取得と解析 http://www.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/733214 Fiddler2 ダウンロード・サイト http://www.fiddler2.com/fiddler2/ The Fiddler User Interface http://www.fiddler2.com/fiddler/help/ui.asp