サーバーステータスのしきい値の理解
Windchill は、「サーバーステータス」ページで連動するしきい値のセットを定義します。
システムがしきい値の 1 つに達すると、ページ上の対応する値が赤色に変わります。しきい値に達した場合には、対応すべきシステム上の問題がないかどうか、または、しきい値が低すぎないかどうかを調査する必要があります。どのような処理をすべきか判断する際にサポートが必要な場合は、PTC テクニカルサポートにご連絡ください。
しきい値は JMX MBeans の属性値として保存されます。お客様の環境で Windchill がどのように実行されているかを確認したあとで、PTC がこの値を変更することがあります。また、お使いのシステムの機能性に柔軟に対応するように、しきい値を変更することができます。
しきい値を確認して調整するには、以下の手順に従います。
1. JMX クライアントを使用して、しきい値を持つ属性に移動し、現在のデフォルトのしきい値を表示します。属性については、このトピックで後ほど説明します。
2. お使いのシステムの標準的なしきい値を反映していないしきい値があれば、調整します。
3. Loader MBean を使用して変更を保存します。
4. クラスタ環境では、クラスタ内のほかのノードに変更をコピーします。
Loader MBean を使用してしきい値を修正して保存すると、多くの場合、<Windchill>/codebase/WEB-INF ディレクトリの特定のファイルが変更されます。この変更を、ほかのノードにコピーします。
以下のリストでは、「サーバーステータス」ページのしきい値を持つフィールドの名前をリストします。フィールドごとに、何が計算されるかについての説明、JMX MBean のツリーパス、しきい値が保存される属性、およびデフォルトの初期しきい値を示します。
「ガーベジコレクションでの時間」
説明: リンクが存在する特定のプロセスにおいて、ガーベジコレクションが占める割合を計算します。この計算は、ヒープの "old gen" の部分だけを処理するガーベジコレクターのみを対象とします。最近のガーベジコレクションの割合を計算するには、特定の時間間隔で収集されたデータ点と、最近のリクエストが生成された瞬間に取得されたデータ点を使って、ガーベジコレクションに費やされた平均時間を求めます。
ガーベジコレクションのこの部分はシステムの問題の原因となりやすいので、この割合の追跡が行われます。
MBean のツリーパス: com.ptc > Monitors > GarbageCollection
しきい値の属性: PercentTimeSpentInGCThreshold
最近の値の間隔属性: RecentIntervalSeconds
初期のデフォルトしきい値: 150 秒間で 15 %
「プロセスによって使用された CPU」
説明: 特定のプロセス (サーバーマネージャまたはメソッドサーバー) において、CPU 処理時間が占める割合を計算します。最近の CPU 処理時間の割合を計算するには、特定の時間間隔で収集された CPU 処理時間のデータ点と、最近のリクエストが生成された瞬間に取得された CPU 処理時間のデータ点を使って、平均値を求めます。
MBean のツリーパス: com.ptc > Monitors > ProcessCpuTime
しきい値の属性: ProcessPercentCPUThreshold
最近の値の間隔属性: RecentIntervalSeconds
初期のデフォルトしきい値: 90 秒間で 90 %
「使用メモリ」
説明: 特定のプロセス (サーバーマネージャまたはメソッドサーバー) の Java 仮想メモリ (JVM) によるヒープメモリ使用率を計算します。使用可能なメモリの総容量に対する現在のメモリ使用量から、割合を計算します。このデータ点については、間隔の平均値は算出しません。しきい値に達すると、30 秒の間隔 (デフォルト) で通知が送信されます。
この計算のしきい値を超過すると、JVM はメモリ不足になる可能性が高くなります。
MBean のツリーパス: com.ptc > Monitors > Memory
しきい値の属性: OldGenPercentCollUsageThreshold
間隔属性: CheckIntervalSeconds
初期のデフォルトしきい値: 97.5 %
「最大同時実行数」
説明: 最近の間隔 (「最近」) または最後のベースライン (「ベースライン」) の開始時点から、任意の時点における、メソッドサーバー JVM で実行されるアクティブなメソッドコンテキストの最大数を計算します。メソッドコンテキストは、メソッドサーバーの作業を実行するために作成されたスレッドです。
このしきい値に達すると、通常は待機中のスレッドの応答時間が遅くなります。
MBean のツリーパス: com.ptc > Monitors > MethodContexts
しきい値の属性: MaxAverageActiveContextsThreshold
最近の値の間隔属性: RecentIntervalSeconds。初期のデフォルト間隔は 60 秒です。
初期のデフォルトしきい値: (5*maxDbConnections) / 2。maxDbConnections は、db.properties wt.pom.maxDbConnections プロパティに設定される値です。
「サーブレットリクエスト: アクティブセッション」」」
説明: Windchill Web アプリケーション内でアクティブになっているセッション数を計算します。アクティブセッション数は頻繁に変わるものではないので、この計算には間隔を使用しません。
しきい値に達すると、通常は JVM にルーティングされたアクティビティ数が多すぎることを意味しますが、その他のインジケータをチェックして、別の問題がないかどうかを確認する必要があります。想定外の多数の同時ユーザーが存在したり、一部のカスタムクライアントコードが Windchill に対するリクエストごとに別のサーブレットセッションを作成したりしている可能性があります。
MBean のツリーパス: com.ptc > WebAppContexts > windchillWebAppPath > Monitors > ServletSessions
しきい値の属性: MaxAverageActiveSessionsThreshold
初期のデフォルトしきい値: 200
「最大同時実行数」
説明: 特定の Web アプリケーション内で、いくつのサーブレットリクエストがカレントになっているかを計算します。サーブレットリクエストは頻繁に変わるものではないので、この計算には間隔を使用しません。
しきい値に達すると、Tomcat JVM の問題があることを示す場合がありますが、その他のインジケータをチェックして、メモリや CPU の使用率が高すぎるといった別の問題がないかどうかを確認する必要があります。
MBean のツリーパス: com.ptc > WebAppContexts > アプリケーションコンテキスト > Monitors > ServletRequests
アプリケーションコンテキストとして示される Web アプリケーションは、以下の 1 つが該当します。
◦ 「サーブレットリクエスト: 一般」のサーブレットリクエストの場合、Windchill Web アプリケーションを選択します。
◦ 「サーブレットリクエスト: ヘルプセンター」のサーブレットリクエストの場合、Windchill ヘルプセンター Web アプリケーションを選択します。
◦ 「サーブレットリクエスト: Solr」のサーブレットリクエストの場合、Windchill Index Search Web アプリケーションを選択します。
しきい値の属性: MaxAverageActiveRequestsThreshold
初期のデフォルトしきい値: 45