Oracle® Fusion Middleware

WebCenter Portal Performance Packの使用

12c (12.2.1.2.0)

E82767-01(原本部品番号:E73212-01)

2016年10月

時間のかかるリクエストを識別して、特定のホット・パスやメソッドをドリルダウンするために、開発者が簡単に使用できるパフォーマンス診断ツールのドキュメント。

Oracle Fusion Middleware WebCenter Portal Performance Packの使用 12c (12.2.1.2.0)

E82767-01

Copyright ©2016, Oracle and/or its affiliates All rights reserved.

原本著者: Jennifer Collins、Savita Thakur

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連リソース

- 表記規則

1 WebCenter Portal Performance Packのスタート・ガイド

- WebCenter Portal Performance Packについて

- WebCenter Portal Performance Packの使用を開始する前に

- WebCenter Portal Performance Packのインストール方法

- WebCenter Portal Performance Packのアンデプロイ方法

- ランディング・ページのクイック・ツアー

2 イベントの使用

- イベント・リストでは何を行えますか。

- コード内のホット・パスをどのように特定できますか。

3 メソッド統計とスレッド・ダンプの使用

- 最適化するメソッドはどのように見つけるのですか。

- 重大なパフォーマンスの問題の原因はどのように特定できますか。

4 インストゥルメンテーションの構成

- システム・ニーズに合せて構成設定を変更するにはどのようにするのですか。

- インストゥルメンテーション構成にメソッドを追加するにはどのようにするのですか。

はじめに

トピック:

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連リソース

- 表記規則

対象読者

『WebCenter Portal Performance Packの使用』ガイドは、パフォーマンス問題を診断するために、時間のかかるリクエストを識別して、特定のホット・パスやメソッドをドリルダウンする必要がある管理者や開発者を対象としています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティへの取り組みについては、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)にアクセスしてください。

Oracle Supportへのアクセス

サポートをご購入のOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細は、http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info、聴覚に障害があるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

関連リソース

詳細は、次を参照してください。

- Oracle WebCenter Portal
https://www.oracle.com/middleware/webcenter/portal/resources.html

表記規則

このマニュアルでは次の表記規則を使用します。

表記規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 WebCenter Portal Performance Packのスタート・ガイド

この項では、WebCenter Portal Performance Packツールの使用を開始する方法について説明します。

トピック

- WebCenter Portal Performance Packについて

- WebCenter Portal Performance Packの使用を開始する前に

- WebCenter Portal Performance Packのインストール方法

- WebCenter Portal Performance Packのアンデプロイ方法

- ランディング・ページのクイック・ツアー

重要
WebCenter Portal Performance Packは、Management Pack for WebCenterのライセンスの一部として使用許諾されます。WebCenter Portal Performance Packは、Oracle WebCenter Portalに含まれるアドオンとして利用できます。

WebCenter Portal Performance Packについて

WebCenter Portal Performance Packは、詳細な分析が頻繁に必要になる開発フェーズにシームレスに統合できるパフォーマンス診断ツールです。

WebCenter Portal Performance Packを使用すると、アプリケーション内の重大なパフォーマンスのボトルネックを迅速に識別し対処できます。Oracle WebCenter Portalの主な懸案領域に対してインストゥルメントするようにWebCenter Portal Performance Packは事前構築済ですが、あらゆるJ2EE Webアプリケーションに適合するように、実行中のシステムを再起動することなく構成を簡単に変更できます。

WebCenter Portal Performance Packには次の特長があります:

- 処理の遅いリクエストを簡単に識別できます

- 特定のホット・パスおよびメソッドにドリルダウンできます。

- 大量のデータでユーザーを煩わすことなく、最も重大な情報のみを提供します。

- 様々な方法でデータが集計され、問題の領域を簡単に特定できます。

- 最適化の条件のヒントを提供します

WebCenter Portal Performance Packの使用を開始する前に

WebCenter Portal Performance Packに前提条件はありません。ただし、Javaテクノロジ、HTTP (Hypertext Transfer Protocol)、WebLogic Server、およびターゲットJVMで実行するOracle WebCenter PortalなどのWebアプリケーションに関する知識が役に立ちます。

WebCenter Portal Performance Packの使用を開始する前に、次に示すテクノロジに関する知識があると役に立ちます。

- Java: ほぼすべてのネットワーク対応アプリケーションの基盤であり、埋込みアプリケーションおよびモバイル・アプリケーション、ゲーム、Webベースのコンテンツ、およびエンタープライズ・ソフトウェアを開発および配備するためのグローバル・スタンダードです。
www.java.com

- HTTP: メッセージのフォーマットと転送の方式を定義するためにWorld Wide Webで使用されている基本的なプロトコルです。
ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol

- Oracle WebLogic Server: データベース、メッセージング・サービス、外部エンタープライズ・システムへの接続など、多様なサービスにアクセス可能な分散Javaアプリケーションを作成できる標準のAPI群を提供します。エンドユーザー・クライアントは、Webブラウザ・クライアントまたはJavaクライアントを使用してこうしたアプリケーションにアクセスします。
Oracle WebLogic Serverの理解

- Oracle WebCenter Portal: イントラネット、エクストラネット、コンポジット・アプリケーション、およびセルフサービス・ポータルの作成が可能になるWebプラットフォームです。
『Oracle WebCenter Portalの使用』のWebCenter Portalの概要に関する項

WebCenter Portal Performance Packのインストール方法

WebCenter Portal Performance Packは、WebCenterインストールの一部として使用可能になります。

WebCenter Portal Performance Packをインストールするには:

1. <INSTALL_HOME>/wcportal/webcenter/archives/perfSense.zipに移動します

2. WebCenter Portal Performance Packをインストールします:

a. ターゲットJVMが配置されているサーバー上のディレクトリに、perfSense.zipを解凍します。

b. ./deploy.sh <WLS_SERVER_NAME>を実行して、perfSenseエージェントとWebアプリケーションをインストールします。
例: ./deploy.sh WC_PORTAL。
Webアプリケーションをインストールするために、管理サーバーの管理者ユーザー名とパスワードの入力を求められます。

3. WebCenter Portal Performance Packにアクセスします(URL: http://<host>:<port>/perfsenseを使用します)

4. WebLogicサーバーで定義した管理者ロールに属するユーザー名とパスワードを使用してサインインします。
ランディング・ページに転送されます。このページでは、選択したOracle WebCenter Portalのインスタンスに関連するパフォーマンス問題の監視と診断に必要なリソースのすべてにアクセスできます。

注意:

- deploy.shコマンドにより、次に示す2つのコンポーネントがインストールされます。

- perfSenseエージェント: JVMをインストゥルメントします

- perfSense Webアプリケーション: インストゥルメント対象のJVMのパフォーマンス・データを表示します

- ターゲットJVMを再起動すると、perfSenseエージェントの再インストールが必要になります。
./deploy.sh —a <WLS_SERVER_NAME>を実行します

- perfSense Webアプリケーションは、ターゲットJVMを再起動してもインストールされた状態が維持されます。Webアプリケーションの再インストールが必要になった場合は、次のようにします。
./deploy.sh —w <WLS_SERVER_NAME>を実行します

- ./deploy.shを実行すると、スクリプトの使用状況を確認できます。

WebCenter Portal Performance Packのアンデプロイ方法

コマンドライン・ツールのundeployを使用すると、ターゲットJVMからWebCenter Portal Performance Packのフットプリントを消去できます。

WebCenter Portal Performance Packアプリケーションが初めてターゲットJVMにデプロイされると、WebCenter Portal Performance PackはターゲットJVMのJavaエージェントとしてアタッチされます。アタッチされると、ターゲットのクラス/メソッドのインストゥルメントが開始され、イベントとメソッドの分析を実行できるようになります。WebCenter Portal Performance Packをアンデプロイすると、ターゲットJVMへの変更は完全にロールバックされ、JVMは初期のクリーンな状態に戻ります。

アンデプロイするには、./undeploy.sh <WLS_SERVER_NAME>を実行します

これにより、次に示す処理が実行されます。

- WebCenter Portal Performance Pack Webアプリケーションは、ターゲットJVMからアンデプロイされます

- 現在インストゥルメントされているすべてのクラスは初期状態にロール・バックされます。
クラスローダーは、インストゥルメントされていないクラスでリロードされます。

- WebCenter Portal Performance Packに関連するすべてのスレッドは、ターゲットJVMから削除されます。

ターゲット・アプリケションは、通常どおりに機能し続けます(再起動を実行する必要はありません)。

ランディング・ページのクイック・ツアー

WebCenter Portal Performance Packを起動すると、ログイン資格証明を入力するよう求められます。WebLogicサーバーの管理者ロールに属するユーザー名およびパスワードを入力する必要があります。次に、ランディング・ページに移動します。このページから、選択したOracle WebCenter Portalインスタンスに関連するパフォーマンスの問題を監視および診断するために必要なすべてのリソースにアクセスできます。

WebCenter Portal Performance Packを起動すると、ターゲットはそのインストール対象となるJVM WebCenter Portal Performance Packに自動的に設定されます。また、ユーザー・メニューにも注目してください。このメニューには、言語プリファレンスの表示、ヘルプへのアクセス(スタート・ガイドのオーバーレイを含む)およびサインアウトのオプションが含まれます。

ランディング・ページを開始点として使用して、処理の遅いリクエストを識別し、パフォーマンスのボトルネックの診断にドリルダウンします。タブ付きのページにより、使用可能な機能間を簡単に移動できます。「ヘルプ」ボタンからアクセスされる情報は、現在開いているページに基づきます。イベント・リストはデフォルト・ページです。

ランディング・ページの概要を理解したところで、使用する主な機能について詳しく見ていきましょう。

機能

説明

詳細情報

イベント・リスト

指定した時間範囲内でサーバーによって処理されたイベントのリストが表示されます。初期範囲は、現在から1時間前までに設定されます。

このページを起点として以下のことができます。

- 指定した時間範囲の変更、または「最新データの取得」のクリックによる過去1時間のイベントの取得を行えます。

- 各リクエストのHTTPリクエスト・タイプを表示できます

- リクエストを継続時間別(ミリ秒単位)にソートし、処理の遅いリクエストを検索できます

- イベントの上にマウスを置くと完全なイベント名が表示されます。これには、完全なURLおよび問合せ文字列が含まれます。

- インストゥルメンテーションおよびメソッド・サンプリングに基づいて問題領域を診断できる、個別のイベント詳細にドリルダウンできます。

「イベントの使用」を参照

メソッド統計

現在から最後のリセット日付までのすべてのメソッドが表示されます。

このページを起点として以下のことができます。

- メソッド、ヒットまたは継続時間別にソートできます

- 各メソッドの継続時間およびヒット数に基づいて問題のメソッドを識別できます。
システムのパフォーマンスおよびスケーラビリティに、より大きな影響を与える可能性のある、ヒット数が高いまたは継続時間が長い(あるいはその両方の)メソッドを最適化します。特によりレベルの低いメソッドを最適化します。

- メソッドの上にマウスを置くと完全なメソッド名が表示されます。また、クリップボードに名前をコピーできます。

- 「統計のリセット」をクリックして、履歴データをすべて消去し、最後のリセット日付を現在の日時に更新できます。この機能により、新規のテスト・シナリオでメソッド統計の収集を新たに開始できます。

「最適化するメソッドはどのように見つけるのですか」を参照

スレッド・ダンプ

JVMから返されたすべてのスレッドが、指定された順序で表示されます。各コール・スタックは、メソッド・コールを含む、折りたたみ可能なセクションです。

このページを起点として以下のことができます。

- スレッド・ヘルスに基づいて、スレッドをフィルタできます。(ACTIVE、STANDBY、SUSPENDED、STUCK)

- 現在の状態に基づいて、スレッドをフィルタできます。(WAITING、RUNNABLE、TIMED-WAITING、PENDING)

- 特定のスレッドを展開して、スレッドに関連付けられているメソッドを表示できます。特定のメソッドのウォッチを選択できます。
注意: WebCenter Portal Performance Packに関連付けられたメソッドは無効であるため、ウォッチできません。

「重大なパフォーマンスの問題の原因はどのように特定できますか」を参照

構成

現在の構成の設定、およびインストゥルメントするように構成されている主なメソッドが表示されます。

このページを起点として以下のことができます。

- インストゥルメンテーションおよびサンプリングを有効化または無効化(あるいはその両方)できます

- 構成設定の変更

- 前回保存した構成に戻すように構成をリセットできます

- 「更新」をクリックして、変更を構成ファイルに保存せずにコミットできます

- 「保存」をクリックして構成の変更を保存できます

- 追加のクラス/メソッドをインストゥルメント対象として追加できます

- 事前構成済メソッドのウォッチまたはウォッチ解除を選択できます

「インストゥルメンテーションの構成」を参照

2 イベントの使用

この項では、パフォーマンス分析の開始点としてイベント・リストを使用する方法について説明します。個別のリクエストにドリルダウンし、インストゥルメンテーションおよびサンプリング・ツリーの使用およびメソッド統計の分析により、潜在的なボトルネックおよび問題領域を診断する方法を説明します。

トピック

- イベント・リストでは何を行えますか。

- コード内のホット・パスをどのように特定できますか。

イベント・リストでは何を行えますか。

イベント・リストは、パフォーマンス分析の開始点です。指定した日時範囲内でサーバーによって処理されたイベントのリストが表示されます。各イベントの処理に費やされた時間は、どのイベントを詳細に分析する必要があるかの特定に役立ちます。

イベント・リストは、図に示すようにサインインしたときに表示されるデフォルト・ページです。

このページに最初にアクセスしたときは、日時範囲は現在から1時間前までに設定され、その間のイベントのリストがデフォルトで表示されます。日付または時間(あるいはその両方)の選択を変更して、様々な一連のイベントを詳しく調べることができます。ビューをリフレッシュするには、「適用」をクリックします。1時間前までのイベント・セットを取得するには、最新データを取得をクリックします。

表示される各イベントについて次の情報が提供されます。イベントは、「タイムスタンプ」、「タイプ」または「期間」でソートできます。

イベント

説明

タイムスタンプ

イベントが処理された日時が表示されます。デフォルトで、イベントは最新のものが最初に表示されるようにソートされます。

タイプ

このリクエストのHTTPメソッドが表示されます(GET/POST)

イベント

イベント名が (.....パス/リソース)と表示されます。イベントのホスト名およびポート部分は、パスの開始部分のみを表示するように省略される場合があります。
名前の上にマウスを置くと、完全なURLおよび問合せ文字列を表示できます。

名前をクリックすると、このイベントの詳細が表示されます。イベント詳細に関する詳細は、「コード内のホット・パスをどのように特定できますか」を参照してください。

期間(ミリ秒)

このイベントの処理にかかった時間(ミリ秒単位)が表示されます。

コード内のホット・パスをどのように特定できますか。

イベント詳細ページを使用して、個別のリクエストのプロファイル情報にドリルダウンし、インストゥルメント・メソッド・ツリー、サンプリング・メソッド・ツリーの他、SQLおよびメソッド統計を使用して、ホット・パスおよびメソッドを識別します。

WebCenter Portal Performance Packは、不必要な情報を無視し、主なメソッドのみをトラッキングするように自動的に構成されているため、個別のリクエストにドリルダウンする際、大量の検索データに煩わされることがありません。イベント詳細ページには、可能性のある問題領域の特定に役立つ次のセクションが含まれています。

- イベント詳細 — イベントについての最上位の情報が表示されます

- インストゥルメント・メソッド・ツリー — 個別の主要メソッドに費やされた時間が表示されます

- サンプリング・メソッド・ツリー — 構成済のメソッドで他の主要メソッドが欠落している可能性があるケースを識別することで、インストゥルメント・メソッド・ツリーを補完します

- SQL — データベースへのコールに費やされた時間が表示されます

- メソッド統計 - この特定のイベント(リクエスト)の範囲内でこのメソッドに関連付けられているメソッドのタイミングが表示されます

各セクションは折りたたみや展開が可能なため、必要とされる最も重要な情報に焦点を絞ることができます。

イベント詳細について

イベント詳細には、選択したイベントに関する、次に示すような情報が表示されます(ただし、これらに限定されません)。

- タイムスタンプ — イベントがサーバーによって処理された日時

- 継続時間 — イベントの処理に要した合計時間が表示されます。

- ベース・メソッド — ルート・メソッドがpackage/class.methodとして表示されます

- イベント — HTTPメソッド(GET/POST)、その後にセパレータと完全なURL、およびパラメータが表示されます

- ユーザー・エージェント — アプリケーション(監視されているターゲット・アプリケーション)で認証に使用されたアカウントが表示されます

インストゥルメント・メソッド・ツリーについて

コードが複雑であるため、単一のリクエストに、大量のメソッドが含まれる場合があります。その点を考慮して、インストゥルメント・メソッド・ツリーには主なメソッドのみを含める構成アルゴリズムを使用し、パフォーマンス分析に重要であることに即座に注目できるようにしています。インストゥルメント・ツリーは、階層的なデータ表として表されます。この階層的なツリー形式では、最も高負荷のメソッドはピンク色の背景色で示され、その統計は赤色でハイライトされるため簡単に特定できます。他のメソッドを含むため元々速度が遅い上位のメソッドは無視しても問題ありません。たとえば、ベース・メソッドweblogic/servlet/internal/WebAppServletContext.executeは低速であると表示されますが、それは時間がリクエスト全体の合計時間を反映しているためです。

現行の上位メソッドを無視する場合でも、ノードを展開し、このメソッドが実際に時間を消費している下位メソッドを含むホット・パスであるかどうかを確認して、詳細にドリルダウンする必要があります。次の情報は、より詳細な調査を必要とする領域の特定に役立ちます。

インストゥルメント・ツリー項目

説明

メソッド

package/class.methodとして表示されます。完全なメソッドは、マウスを置いたときにツールチップとして表示されます。

合計時間

このメソッドに費やされた合計時間が表示されます。

その他の時間

インストゥルメンテーションに含まれないメソッドに要した時間が示されます。

ヒット

リクエストの実行中にこのメソッドがコールされた回数

最小/最大/平均

このメソッドのヒット数が1より大きい場合、最小、最大および平均時間が計算されます。

ウォッチ

デフォルトで、ツリー内のすべてのメソッドがウォッチされます。インストゥルメンテーションからメソッドを削除するには、ここをクリックします。

サンプリング・メソッド・ツリーは、まだインストゥルメントされていない高負荷のメソッドを取得できるため、インストゥルメント・メソッド・ツリーと並行して機能します。したがって、算出されている「その他の時間」統計の値が大きい場合、サンプリングに含まれるメソッドを調べる必要があります。

注意:
メソッドをインストゥルメンテーションから削除すると、そのメソッドのみが削除されます。下位のメソッドは、インストゥルメント・メソッドの子であるからではなく、アルゴリズムに基づいて選択されているため、ツリー内に残ります。

サンプリング・メソッド・ツリーについて

サンプリング・メソッド・ツリーは、インストゥルメント・メソッド・ツリーと連携して動作します。スタック・トレースは、定期的にサンプリングされ、このツリーには、サンプリング・レートより遅いメソッドが表示されます。たとえば、リクエストの実行に1秒かかり、サンプリング・レートが50ミリ秒だった場合、サンプリングは20回行われます。サンプリング・メソッド・ツリーには、リクエストのライフサイクル中にメソッドがトラッキングされた頻度(重み)、および処理に長い時間がかかっているかどうかが表示されます。デフォルトで、サンプリング・レートは50ミリ秒に設定されていますが、要件に応じてレートを変更できます。

デフォルト・レートなど関連する構成設定の変更方法の詳細は、「システム・ニーズに合せて構成設定を変更するにはどのようにするのですか」を参照してください。

ツリーは、階層的なデータ表として表されます。インストゥルメント・ツリーと同様に、ツリー内のメソッドの展開および折りたたみを実行できます。かわりに、表には子プロセス数が示されます。これらのメソッドを表示するには、単純にメソッドをクリックします。これにより、このメソッドの完全なコール・スタックが表示されるメソッド・コール詳細ダイアログが開きます。このダイアログから、コール・スタック内の任意のメソッドをウォッチ対象として選択できます。

詳細に分析するためにインストゥルメントする必要があると考えられるメソッドがサンプリング・ツリー内にあった場合、ウォッチ対象として選択できます。インストゥルメンテーションのためにメソッドを構成に追加する際、ツールを停止し再起動する必要はありません。

1. ウォッチ・オプションを選択します。

2. WebCenter Portalに移動し、リクエストを実行します。

3. イベント・リストに移動し、新規リクエストをドリルダウンします。
ウォッチ対象として選択したメソッドがインストゥルメント・メソッド・ツリーに含まれていることを確認できます。ターゲット・ポータル・サーバーを停止して再起動するする必要はありません。

注意:
サンプリング・ツリーには、システム・パフォーマンスを低下させているカスタム・コード内のメソッドも表示されます。処理の遅いclass.methodのウォッチを選択するだけで、インストゥルメントするように選択できます。

SQLについて

リクエストを処理する際、WebCenter PortalなどのOracle製品は、データベースへのコールを行う場合があります。SQLセクションには、このリクエストの処理中のすべてのコールのリストが含まれます。各コールが行われた回数および処理にかかった平均時間が示されます。SQL名の上にマウスを置くると、完全なSQLが表示されます。クリップボードに完全なSQLをコピーできます。

この情報は、インストゥルメンテーション・メソッド・ツリーおよびサンプリング・メソッド・ツリーから収集された情報とともに、パフォーマンスの問題の絞込みに非常に役立ちます。

メソッド統計について

メソッド統計セクションには、このリクエストに実行されたすべてのメソッドの集計統計がリストで表示されます。ノードの展開および折りたたみを行い特定のメソッドを見つけるのではなく、ここで簡単に見つけることができます。集計統計から、それらが高負荷で最適化する必要があるかどうかを確認できます。

メソッド統計の詳細は、「最適化するメソッドはどのように見つけるのですか」を参照してください。

3 メソッド統計とスレッド・ダンプの使用

この項では、最適化対象のメソッドを見つける方法と、重大なパフォーマンス問題を発生しているメソッドを見つける方法について説明します。

トピック

- 最適化するメソッドはどのように見つけるのですか。

- 重大なパフォーマンスの問題の原因はどのように特定できますか。

最適化するメソッドはどのように見つけるのですか。

メソッド統計ページは、集計統計に基づいて最適化できるメソッドの識別に役立ちます。

たとえば、会社の規模を拡大したため、50人の従業員を新規採用するとします。これは、現行のユーザーがOracle WebCenter Portalで毎日実行していた一連のタスクを追加のユーザーが近々実行するということを意味します。新規ユーザーを追加したことでパフォーマンスが低下しないようにメソッドを最適化できるかどうかを確認する必要があります。

最適化の可能性のあるメソッドを見つけるには:

1. メソッド統計ページに移動し、統計のリセットをクリックして、リストされている現在のメソッドをすべて削除します。

2. Oracle WebCenter Portalにサインインし、必要な一連のタスクを実行します。

3. メソッド統計ページに移動します。
テスト中に実行されたインストゥルメント・メソッドはすべて集計され、表にリストされています。

メソッドのリストに目を通し、各メソッドのヒット数および合計時間に注目することで、最も高負荷のメソッドを簡単に特定できます。上位のメソッドを消去することで、検索対象を下位のメソッドに制限できます。これらのメソッドでは、最小、最大および平均時間を考慮する必要もあります。最も高負荷のメソッドを最適化することで、新規ユーザーを追加した際のパフォーマンスの問題はなくなるはずです。

重大なパフォーマンスの問題の原因はどのように特定できますか。

重大な速度の低下が発生している場合、またはOracle WebCenter Portalの使用中にシステムがハングする場合、スレッド・ダンプを実行できます。

スレッド・ヘルス・ステータスとは、各アクションの完了に充てられている特定の時間しきい値に基づいて割り当てられているステータスです。たとえば、スレッドがデータベースからのレスポンスを待機しているとします。新規リクエストを待機している間、STANDBYのヘルス・ステータスが割り当てられます。デフォルトで、WebLogic Serverでのリクエストのタイムアウトは10分に設定されています。指定された時間が経過してもリクエストの処理が終了しない場合、ヘルス・ステータスはSTUCKに変更されます。

スレッドには、スレッド名の末尾に表示されるサーバー・ステータスも割り当てられます。

スレッド・ダンプを実行するには、「スレッド・ダンプ」タブを単純にクリックします。ダンプの結果が表示されたページが開きます。データはヘルス・ステータス(ALL、ACTIVE、STANDBY、SUSPENDED、STUCK)またはサーバー・ステータス(WAITING、RUNNABLE、TIMED-WAITINGおよびPENDING)、あるいはその両方でフィルタできます。現在のスレッド・ダンプに存在する状態のみがドロップダウン・メニューに表示されることに注意してください。

システムに重大なパフォーマンスの問題がある場合、ステータスSTUCKでフィルタして、速度の低下を引き起こしている問題を迅速に診断できます。

特定のスレッドを展開して、関連付けられているメソッドを表示できます。メソッドのロードには時間がかかる場合があることに注意してください。次に、疑われるメソッドのウォッチを選択して、インストゥルメントするように選択できます。これらの疑われるメソッドのウォッチを開始するために、WebCenter Portal Performance PackまたはターゲットJVMを停止して再起動する必要はありません。

4 インストゥルメンテーションの構成

この項では、現在の構成設定の変更方法、および構成に対するメソッドの追加および削除の方法について説明します。

トピック

- システム・ニーズに合せて構成設定を変更するにはどのようにするのですか。

- インストゥルメンテーション構成にメソッドを追加するにはどのようにするのですか。

システム・ニーズに合せて構成設定を変更するにはどのようにするのですか。

「構成」ページでは、インストゥルメンテーションとサンプリングの有効化および特定の構成設定の変更を行えます。

次の構成設定を変更できます。

構成設定

説明

インストゥルメンテーションの有効化

メソッドのインストゥルメンテーションを有効化する場合に選択します。メソッドのインストゥルメンテーションを無効化する場合は選択解除します。

サンプリングの有効化

メソッドのサンプリングを有効化する場合に選択します。メソッドのサンプリングを無効化する場合は選択解除します。
注意: これは、インストゥルメンテーションが有効化されている場合のみ変更できます。

アイドル時のスリープ

インストゥルメンテーション・イベントを処理するために内部スレッドを起動する頻度を定義します。デフォルトは5秒です。
頻度をこれより大きい値に設定した場合、イベント・リストへのイベントの表示に遅延が見られる場合があることに注意してください。デフォルト時間より短い頻度の設定は、イベント・リストがより最新の状態になるものの、システム・オーバーヘッドが発生することを意味します。

ログ・レベル

ログ・レベルを定義します。デフォルトはINFOです。有効な値は次のとおりです。

- NONE — ロギングなし

- ERROR — WebCenter Portal Performance Packシステム・エラーが発生しており、修正する必要があります

- WARNING — 問題が発生しましたが、WebCenter Portal Performance Packシステムの機能には影響がありません

- INFO — WebCenter Portal Performance Packシステムの状態に関する情報メッセージを提供します

- PERF — インストゥルメンテーションに関する情報メッセージを提供します

- DEBUG — WebCenter Portal Performance Packシステムに関する問題の診断に有効な詳細メッセージを提供します

イベント・キャッシュ・サイズ

監視するイベントのキャッシュ・サイズを定義します。デフォルトは3です。
キャッシュ・サイズが大きいと、再ロード時間が速くなりますが、より多くのメモリーが必要になります。

最大パラレル・スレッド数

パラレルに監視するスレッドの最大数を定義します。デフォルト値は10です。
高負荷のシステムの場合、インストゥルメンテーションの欠落を避けるためにこの設定の値を増やします。ただし、値が大きくなると、より多くのメモリーが必要になります。

収集のタイミング(ミリ秒)

プロファイリングのために収集される最小のメソッド・タイミングを定義します。費やされた時間がこの値より短いメソッドは記録も報告もされません。デフォルト値は1ミリ秒です。
この設定により、収集されるデータの量を削減できるため、ユーザーは処理の遅いメソッドに集中できます。

サンプリング間隔(ミリ秒)

2つの連続したサンプリングの間隔を定義します。デフォルトは50ミリ秒です。
サンプリングの間隔が短いとサンプリングの精度は高くなりますが、システムの負荷が大きくなります。

開始遅延(ミリ秒)

インストゥルメンテーションおよびサンプリングが開始されるまでの遅延時間を定義します。デフォルトは50ミリ秒です。
この設定により、小さくかつ高速なイベントを無視できます。

クイック書込みイベント・レポート

テキスト形式を使用した個別のイベント・レポートを作成するかどうかを定義します。デフォルトはFalseです。
有効な値は、TrueまたはFalseです。

変更した後に、次の操作を行えます。

- 更新 — 変更は保存されますが、構成ファイルは更新されません。

- 保存 — 変更が保存され、構成ファイルが更新されます。
構成ファイルの場所は次のとおりです: <domain_home>/tahoe/<server_name>/tahoe.cfg

- 保存済に戻す — 変更を削除し、最後に保存された構成設定をリストアします。

インストゥルメンテーション構成にメソッドを追加するにはどのようにするのですか。

サンプリング・メソッド・ツリー、スレッド・ダンプまたは「構成」ページを使用して、インストゥルメンテーション構成に対するメソッドの追加および削除を行えます。また、インストゥルメント・メソッド・ツリーからメソッドを追加および削除することもできます。

メソッドを追加および削除する際に、WebCenter Portal Performance PackまたはターゲットJVMを停止して起動する必要はありません。タスクをただ実行するだけです。

サンプリング・メソッド・ツリーを使用してメソッドを追加または削除するには:

1. 「構成」ページに移動して、インストゥルメンテーションおよびサンプリングが有効であることを確認します。

注意:
インストゥルメンテーションおよびサンプリングを有効化した後、Webアプリケーションにアクセスしてデータがサンプリング・ツリーにロードされていることを確認する必要があります。

2. サンプリング・メソッド・ツリー・セクションに移動して、構成に含まれていない可能性のある主要メソッドを確認します。

3. インストゥルメントするメソッドを見つけて、「ウォッチ」を選択します。インストゥルメント対象からメソッドを除外するには、インストゥルメンテーションやサンプリング・メソッド・ツリーの「ウォッチ」の選択を解除します。
いずれのアクションについても確認ダイアログが表示されます。

たとえば、新規コードをOracle WebCenter Portalに追加し、そのパフォーマンスを監視するとします。「構成」ページから手動でインストゥルメント・メソッドを追加または削除(あるいはその両方)を行うことができます。

新規メソッドを構成に追加するには

1. 「構成」ページに移動して、インストゥルメンテーションおよびサンプリングが有効であることを確認します。

2. 「インストゥルメント・メソッド」セクションに移動し、メソッド(package.class.name)を単純に追加して、「メソッドの追加」をクリックします。

3. 新規コードから目的のメソッドをすべて追加するまで、前の手順を繰り返します。

4. 構成を保存します。

5. Oracle WebCenterにサインインし、新規コードを使用して機能を実行します。

6. WebCenter Portal Performance Packに戻り、イベント・リストまたはメソッド統計を使用して新規メソッドのパフォーマンスを監視します。

注意:
グレーの斜体で表示されるメソッドは、JVMによってまだロードされていないクラスであることを示します。クラスがプログラムによって呼び出されるまで待機し、ロードされたらウォッチを開始します。青色で表示されるメソッドは、変更が構成ファイルにまだ保存されていないことを示します。

構成からメソッドを削除するには、選択したメソッドの「ウォッチ」を単純に選択解除し、構成を保存します。

注意:
「更新」をクリックするとメモリー内のプロパティが変更され、プロパティが有効になりますが、「保存」をクリックするまでファイルには保存されません。