Interstage Application Server 運用ガイド |
目次
索引
![]() ![]() |
第6章 性能監視 | > 6.3 性能情報の分析と対処 |
性能ログファイルへのログ出力機能を使用した場合に採取できる性能情報と、その評価方法、対処方法について説明します。
ispreportコマンドを使用して、性能ログファイルのレポート出力を行います。ispreportコマンドは、性能ログファイルに保存されている性能情報を1レコードずつ読み出し、以下のようにCSV形式に変換して標準出力に出力します。出力される項目は、アプリケーション種別ごとに異なります。
D1, D2, D3, D4, D5, ......
性能ログファイルをCSV形式に変換してファイルに出力する場合は、ispreportコマンド実行時に、以下のようにして、出力先のファイル名を指定してください。
ispreport オプション > 出力先ファイル名
採取できる性能情報は、アプリケーション種別ごとに項目が異なります。
性能情報として出力される項目について、アプリケーション種別ごとに説明します。各表の項番に書かれているD1、D2、・・・は、CSV形式で出力されるD1、D2、・・・に対応しています。
ラッパーのオブジェクトはWindows(R)版、Solaris版のみ採取できます。
項番 |
性能情報の項目名 |
単位 |
内容 |
---|---|---|---|
D1 |
データ採取開始日付 |
− |
当該レコードの性能情報の測定を開始した日付 |
D2 |
データ採取開始時刻 |
− |
当該レコードの性能情報の測定を開始した時刻 |
D3 |
データ採取終了日付 |
− |
当該レコードの性能情報の測定を終了した日付 |
D4 |
データ採取終了時刻 |
− |
当該レコードの性能情報の測定を終了した時刻 |
D5 |
オブジェクト名 |
− |
測定対象の業務アプリケーションのオブジェクト名 |
D6 |
オペレーション名 |
− |
測定対象の業務アプリケーションのオペレーション名 |
D7 |
プロセスID |
− |
測定対象の業務アプリケーションのプロセスID |
D8 |
最大要求処理時間 |
ミリ秒 |
当該プロセスにおける当該オペレーションの処理時間(インターバル時間内での最大値/最小値/平均値) |
D9 |
最小要求処理時間 |
ミリ秒 |
|
D10 |
平均要求処理時間 |
ミリ秒 |
|
D11 |
最大要求処理待ち時間 |
ミリ秒 |
クライアントアプリケーションからの要求を受け付けてから、オブジェクトが処理を開始するまでの待ち時間(インターバル時間内での最大値/最小値/平均値) |
D12 |
最小要求処理待ち時間 |
ミリ秒 |
|
D13 |
平均要求処理待ち時間 |
ミリ秒 |
|
D14 |
処理数 |
回 |
当該プロセスにおける当該オペレーションの処理回数(インターバル時間内での値) |
D15 |
要求受信数 |
個 |
当該オブジェクトの累積処理回数(インターバル時間内での値) |
D16 |
処理待ち要求数 |
個 |
当該オブジェクトに対して処理待ちとなった要求数(インターバル時間内での最大値) |
D17 |
平均処理待ち要求数 |
個 |
当該オブジェクトに対して処理待ちとなった要求数(インターバル時間内での平均値) |
ispreportコマンドは、インターバル時間間隔の情報を、各プロセス上のオペレーション単位に出力します。出力情報には、各プロセス上のオペレーション単位の情報と、オブジェクト単位の情報があります。
以下に、ispreportコマンドの出力結果の例を示します。
1つのオペレーションを持つオブジェクトの性能監視例
オブジェクトOBJ001とOBJ002に対して、性能監視を行った場合の性能情報出力例を、以下に示します。OBJ001とOBJ002は、1つのオペレーションを持っており、プロセス多重度は1です。
複数のオペレーションを持つオブジェクトの性能監視例
オブジェクトOBJ001に対して、性能監視を行った場合の性能情報出力例を、以下に示します。OBJ001は、2つのオペレーションを持っており、かつ、プロセス多重度は2です。
注) 以降の説明では、“IJServerのEJBコンテナ、EJBアプリケーション(旧版互換環境用)、またはLight EJBコンテナ(旧版互換環境用)”を“EJBコンテナまたはアプリケーション”と記載します。
項番 |
性能情報の項目名 |
単位 |
内容 |
---|---|---|---|
D1 |
データ採取開始日付 |
− |
当該レコードの性能情報の測定を開始した日付 |
D2 |
データ採取開始時刻 |
− |
当該レコードの性能情報の測定を開始した時刻 |
D3 |
データ採取終了日付 |
− |
当該レコードの性能情報の測定を終了した日付 |
D4 |
データ採取終了時刻 |
− |
当該レコードの性能情報の測定を終了した時刻 |
D5 |
EJBアプリケーション名 |
− |
測定対象のEJBアプリケーション名 |
D6 |
メソッド名+シグネチャ |
− |
測定対象のメソッド名+シグネチャ(メソッドの引数と戻り値の型) |
D7 |
プロセスID |
− |
測定対象のEJBコンテナまたはアプリケーションのプロセスID |
D8 |
スレッドID |
− |
測定対象のメソッドが動作するスレッドID |
D9 |
最大要求処理時間 |
ミリ秒 |
当該スレッドにおける当該メソッドの処理時間(インターバル時間内での最大値/最小値/平均値) |
D10 |
最小要求処理時間 |
ミリ秒 |
|
D11 |
平均要求処理時間 |
ミリ秒 |
|
D12 |
最大要求処理待ち時間 |
ミリ秒 |
クライアントアプリケーションからの要求を受け付けてから、メソッドが処理を開始するまでの待ち時間(インターバル時間内での最大値/最小値/平均値) (注) |
D13 |
最小要求処理待ち時間 |
ミリ秒 |
|
D14 |
平均要求処理待ち時間 |
ミリ秒 |
|
D15 |
処理数 |
回 |
当該スレッドにおける当該メソッドの処理回数(インターバル時間内での値) |
D16 |
要求受信数 |
回 |
当該EJBコンテナまたはアプリケーションの累積処理回数(インターバル時間内での値) |
D17 |
処理待ち要求数 |
個 |
当該EJBコンテナまたはアプリケーションに対して処理待ちとなった要求数(インターバル時間内での最大値) (注) |
D18 |
EJBオブジェクト数 (Session) |
個 |
現在のEJBオブジェクト数(createメソッド実行数とremoveメソッド実行数の差分)(インターバル時間内での最大値) |
D19 |
Entityの最大Passivate数 |
− |
EJBコンテナまたはアプリケーション(プロセス)のインスタンスのプーリング回数(インターバル時間内での最大値) |
D20 |
VMの最大メモリ使用量 |
Kバイト |
EJBコンテナまたはアプリケーションに対応するVMのメモリ使用量(インターバル時間内での最大値/平均値) |
D21 |
VMの平均メモリ使用量 |
Kバイト |
|
D22 |
平均処理待ち要求数 |
個 |
当該オブジェクトに対して処理待ちとなった要求数(インターバル時間内での平均値) |
注) IJServerのEJBコンテナやLight EJBコンテナ(旧版互換環境用)に配備されたEJBアプリケーションや、EJBアプリケーション(旧版互換環境用)がMessage-driven Beanの場合には、必ず"0"が出力されます。
ispreportコマンドは、インターバル時間間隔の情報を、各プロセス上のメソッド+シグネチャ単位に出力します。出力情報には、各プロセス上のメソッド+シグネチャ単位の情報と、EJBコンテナまたはアプリケーション単位の情報があります。
以下に、ispreportコマンドの出力結果の例を示します。
複数のメソッドを持つEJBアプリケーションと複数のメソッドを持つEJBアプリケーションを1つ配備したLight EJBコンテナの性能監視例 (旧版互換環境用)
EJBアプリケーションEJBAPL001とLight EJBコンテナEJBCONT001に対して、性能監視を行った場合の性能情報出力例を、以下に示します。EJBAPL001は、3つのメソッドを持っています。またEJBCONT001は、3つのメソッドを持つ1つのEJBアプリケーションEJBAPL002を配備しています。
項番 |
性能情報の項目名 |
単位 |
内容 |
---|---|---|---|
D1 |
データ採取開始日付 |
− |
当該レコードの性能情報の測定を開始した日付 |
D2 |
データ採取開始時刻 |
− |
当該レコードの性能情報の測定を開始した時刻 |
D3 |
データ採取終了日付 |
− |
当該レコードの性能情報の測定を終了した日付 |
D4 |
データ採取終了時刻 |
− |
当該レコードの性能情報の測定を終了した時刻 |
D5 |
インプリメンテーションリポジトリID |
− |
測定対象のCORBAアプリケーションのインプリメンテーションリポジトリID |
D6 |
オブジェクト名 |
− |
インプリメンテーションリポジトリに含まれるオブジェクトの名前 |
D7 |
オペレーション名 |
− |
インプリメンテーションリポジトリに含まれるオブジェクト内のオペレーション名 |
D8 |
プロセスID |
− |
測定対象のCORBAアプリケーションのプロセスID |
D9 |
スレッドID |
− |
測定対象のCORBAアプリケーションのスレッドID |
D10 |
最大要求処理時間 |
ミリ秒 |
当該スレッドにおける当該オペレーションの処理時間(インターバル時間内での最大値/最小値/平均値) |
D11 |
最小要求処理時間 |
ミリ秒 |
|
D12 |
平均要求処理時間 |
ミリ秒 |
|
D13 |
最大要求処理待ち時間 |
ミリ秒 |
クライアントアプリケーションからの要求を受け付けてから、オブジェクトが処理を開始するまでの待ち時間(インターバル時間内での最大値/最小値/平均値) |
D14 |
最小要求処理待ち時間 |
ミリ秒 |
|
D15 |
平均要求処理待ち時間 |
ミリ秒 |
|
D16 |
最大データ長 |
バイト |
クライアントアプリケーションから送信されたデータ長(最大値/最小値/平均値) |
D17 |
最小データ長 |
バイト |
|
D18 |
平均データ長 |
バイト |
|
D19 |
処理数 |
回 |
当該スレッドにおける当該オペレーションの処理回数(インターバル時間内での値) |
D20 |
要求受信数 |
回 |
当該オブジェクトの累積処理回数(インターバル時間内での値) |
D21 |
処理待ち要求数 |
個 |
当該オブジェクトに対して処理待ちとなった要求数(インターバル時間内での最大値) |
D22 |
平均処理待ち要求数 |
個 |
当該オブジェクトに対して処理待ちとなった要求数(インターバル時間内での平均値) |
ispreportコマンドは、インターバル時間間隔の情報を、各プロセス上のオペレーション単位に出力します。出力情報には、各プロセス上のオペレーション単位の情報と、インプリメンテーションリポジトリID単位の情報があります。
以下に、ispreportコマンドの出力結果の例を示します。
1つのオペレーションを持つCORBAアプリケーションの性能監視例
CORBAアプリケーションのインプリメンテーションリポジトリID IDL:MOD001/INTF001:1.0とIDL:MOD002/INTF002:1.0に対して、性能監視を行った場合の性能情報出力例を、以下に示します。IDL:MOD001/INTF001:1.0とIDL:MOD002/INTF002:1.0は、1つのオペレーションを持っており、プロセス多重度は1です。
複数のオペレーションを持つCORBAアプリケーションの性能監視例
CORBAアプリケーションのインプリメンテーションリポジトリID IDL:MOD001/INTF001:1.0に対して、性能監視を行った場合の性能情報出力例を、以下に示します。IDL:MOD001/INTF001:1.0は、2つのオペレーションを持っており、かつ、プロセス多重度は2です。
性能ログファイルへのログ出力機能で採取した性能情報の評価方法と対処方法を、以下の一覧にまとめます。
性能異常を検出した場合は、一覧を参考にして対処してください。
項番 |
評価方法 |
対応/処置 |
---|---|---|
1 |
性能監視を実施した全時間帯で、最大要求処理時間が長く、かつ、平均要求処理時間が、最大要求処理時間に近い時間となっている。 |
要求処理時間が、目標値よりも長くかかっている場合には、以下の要因が考えられます。
上記の観点で、サーバアプリケーションおよびシステムを見直してください。 |
2 |
特定の時間帯で、最大・平均・最小の各要求処理時間が長くなっている。 |
特定の時間帯に、システム負荷が高くなっている可能性があります。 |
3 |
特定の時間帯で、最大・平均・最小の各要求処理待ち時間が長くなっている。 |
|
4 |
最大要求処理時間は長いが、平均要求処理時間は短く、最小要求処理時間に近い時間となっている。 |
以下の要因が考えられます。
上記の観点で、システムおよびサーバアプリケーションを見直してください。 |
5 |
最大要求処理待ち時間は長いが、平均要求処理待ち時間は短く、最小要求処理待ち時間に近い時間となっている。 |
|
6 |
性能監視を実施した全時間帯で、最大要求処理待ち時間および平均要求処理待ち時間が長くなっている。 |
クライアントからの要求数に対して、サーバアプリケーションの処理能力が不足しています。 |
7 |
特定の時間帯で、処理数・処理待ち要求数が多くなっている。 |
特定の時間帯にサーバアプリケーションに対する要求数が増加しています。 |
8 |
EJBオブジェクト数がクライアント接続数より多くなっている。 (※) |
EJBオブジェクトの数が増加しています。createメソッドに対するremoveメソッドの実行がされていない可能性があります。 |
9 |
Passivate数が多くなっている。 (※) |
Entity初期インスタンス数が不足しています。 |
10 |
VMのメモリ使用量が多くなっている。 (※) |
メモリリークをしている可能性があります。 |
11 |
処理待ち要求数が大きいが、平均要求処理待ち時間が短い。 |
isinfobjコマンドを使用して、定期的に待ちキューの状態を確認し、インターバル時間内の負荷状態を確認してください。 |
※) EJBアプリケーションの場合のみ、有効です。
目次
索引
![]() ![]() |