Hitachi

Hitachi Microservices Platform - Paxos Commit Transaction Orchestrator ユーザーズガイド


11.4.1 概要

HMP-PCTOが動作するシステムでサービスのレスポンス遅延が発生したときに、パフォーマンスの傾向を調査するため、また、HMP-PCTOの性能評価を行うため、システムのパフォーマンスの指標となるメトリクスを取得します。

〈この項の構成〉

(1) メトリクスの評価対象

メトリクスの評価対象を次の表に示します。システム(Kubernetesの場合、コンテナ環境)の利用状況、Java VMの利用状況、およびHMP-PCTOの性能を評価するための指標となる数値を取得することで、HMP-PCTOが動作しているシステムのパフォーマンスの傾向を調査できます。

表11‒28 メトリクスの評価対象

項番

評価対象

説明

1

システムの利用状況

Kubernetesなどのコンテナ環境における性能

<例>

CPU使用率

2

Java VMの利用状況

Javaプロセス固有の性能

<例>

  • Java Heap

  • GC

3

HMP-PCTOの性能を評価するための指標

gRPC通信の性能

HMP-PCTOの各機能間のgRPC通信の性能

<例>

gRPC通信の処理時間

4

送信処理の性能

HMP-PCTO内部で実施される非同期送信処理の性能

<例>

  • 実行回数・時間

  • 未実行の(キューイングされている)数

5

機能固有の稼働統計情報

HMP-PCTOのコンポーネント(Mediatorなど)で固有に取得する稼働統計情報

<例>

  • Mediatorの例:ProposalLog、ConsensusLogの状態ごとの件数

  • Participantの例:トランザクションブランチ数・処理時間

  • TP1-Bridgeの例:Spring Boot組み込みTomcatのスレッド数

  • Jaeger-collectorの例:受信したSpan数、内部キューに登録されたデータ数

上記の評価対象ごとに取得する項目を次に示します。項目の詳細については、「(3) 出力内容」を参照してください。

各コンポーネントで「表11‒28 メトリクスの評価対象」の項番1〜4の情報を取得します。

項番5「機能固有の稼働統計情報」については、機能ごとに次の表のパフォーマンスを評価します。

表11‒29 機能固有の稼働統計情報の評価対象

項番

コンポーネント

評価対象

1

Orchestrator

Entity-Module

なし。

2

Mediator

ConsensusLogアクセス所要時間

3

SQL-Participant

TCC-Participant

TP1-Bridge

  • 処理中のトランザクションブランチ数

  • 完了したトランザクションブランチ数

  • 完了したトランザクションブランチの処理時間

  • EADS APIの所要時間(トライアル版では評価できません)

4

Orchestrator

Entity-Module

SQL-Participant

TCC-Participant

TP1-Bridge

Spring Bootの組み込みTomcatで管理されるスレッド数

5

Jaeger-collector

  • Jaeger-collectorの内部キュー内のSpan数

  • Jaeger-collectorが受信したSpan数

上記で示したメトリクスの評価対象以外にも、次の表に示すExporterなどを用いたメトリクス収集アプリケーションまたはサービスの使用を推奨します。メトリクス収集アプリケーションまたはサービスでメトリクスの情報を収集することで、HMP-PCTOの各コンポーネントやKubernetesクラスタのパフォーマンス監視や保守を行うための情報を取得できます。

表11‒30 取得を推奨するメトリクスを出力するExporter

項番

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で実装しています。