11.4.1 概要
HMP-PCTOが動作するシステムでサービスのレスポンス遅延が発生したときに、パフォーマンスの傾向を調査するため、また、HMP-PCTOの性能評価を行うため、システムのパフォーマンスの指標となるメトリクスを取得します。
- 〈この項の構成〉
(1) メトリクスの評価対象
メトリクスの評価対象を次の表に示します。システム(Kubernetesの場合、コンテナ環境)の利用状況、Java VMの利用状況、およびHMP-PCTOの性能を評価するための指標となる数値を取得することで、HMP-PCTOが動作しているシステムのパフォーマンスの傾向を調査できます。
|
項番 |
評価対象 |
説明 |
|
|---|---|---|---|
|
1 |
システムの利用状況 |
Kubernetesなどのコンテナ環境における性能 <例> CPU使用率 |
|
|
2 |
Java VMの利用状況 |
Javaプロセス固有の性能 <例>
|
|
|
3 |
HMP-PCTOの性能を評価するための指標 |
gRPC通信の性能 |
HMP-PCTOの各機能間のgRPC通信の性能 <例> gRPC通信の処理時間 |
|
4 |
送信処理の性能 |
HMP-PCTO内部で実施される非同期送信処理の性能 <例>
|
|
|
5 |
機能固有の稼働統計情報 |
HMP-PCTOのコンポーネント(Mediatorなど)で固有に取得する稼働統計情報 <例>
|
|
上記の評価対象ごとに取得する項目を次に示します。項目の詳細については、「(3) 出力内容」を参照してください。
各コンポーネントで「表11‒28 メトリクスの評価対象」の項番1〜4の情報を取得します。
項番5「機能固有の稼働統計情報」については、機能ごとに次の表のパフォーマンスを評価します。
|
項番 |
コンポーネント |
評価対象 |
|---|---|---|
|
1 |
Orchestrator Entity-Module |
なし。 |
|
2 |
Mediator |
ConsensusLogアクセス所要時間 |
|
3 |
SQL-Participant TCC-Participant TP1-Bridge |
|
|
4 |
Orchestrator Entity-Module SQL-Participant TCC-Participant TP1-Bridge |
Spring Bootの組み込みTomcatで管理されるスレッド数 |
|
5 |
Jaeger-collector |
|
上記で示したメトリクスの評価対象以外にも、次の表に示すExporterなどを用いたメトリクス収集アプリケーションまたはサービスの使用を推奨します。メトリクス収集アプリケーションまたはサービスでメトリクスの情報を収集することで、HMP-PCTOの各コンポーネントやKubernetesクラスタのパフォーマンス監視や保守を行うための情報を取得できます。
|
項番 |
Exporter/コンポーネント |
概要 |
|---|---|---|
|
1 |
Node-Exporter |
各Kubernetesノード上で実行し、各マシンのCPU、メモリの使用量などのマシンレベルのメトリクスを出力します。 |
|
2 |
kube-state-metrics |
Kubernetes APIより、クラスタ上のリソース情報を収集し、メトリクスとして出力を行います。 |
|
3 |
cAdvisor |
cgroupについてのメトリクスを収集するExporter。Kubernetes上で稼働するコンテナのパフォーマンスに関する情報を出力します。 |
(2) メトリクスの取得手段
HMP-PCTOでは、各コンポーネントでMicrometerのライブラリを使用してメトリクスの情報を取得します。HMP-PCTOが対応しているメトリクス収集アプリケーションまたはサービスはPrometheusだけです。このため、HMP-PCTOはPrometheus向けのデータ形式でメトリクス情報を出力します。
Prometheusでは、HMP-PCTOがMicrometerで取得したメトリクスデータを収集します。このため、HMP-PCTOでは、Prometheusにメトリクスデータを送信できるように、Prometheusに対応したExporterをMicrometerで実装しています。