クラスターのパフォーマンス特性を理解する
クラスターのパフォーマンス特性を理解することは、問題の診断とキャパシティ・プランニングに不可欠です。
クラスターのパフォーマンス特性を理解することは、問題の診断とキャパシティ・プランニングに不可欠です。
DataStax Enterpriseは、Java Management Extensions(JMX)を介して、多数の統計と管理操作を公開しています。JMXは、Javaアプリケーションおよびサービスを管理および監視するツールを提供するJavaテクノロジーです。JavaアプリケーションがMBeanとして公開した統計情報または操作はすべて、JMXを使用して監視したり、制御したりすることができます。
JMXは、Javaアプリケーションおよびサービスを管理および監視するツールを提供するJavaテクノロジーです。JavaアプリケーションがMBeanとして公開した統計情報または操作はすべて、JMXを使用して監視したり、制御したりすることができます。
通常の運用では、データベースは、以下のようなJMX対応ツールを使用して監視が可能な情報および統計を出力します。
- nodetool sjk
- JConsole
同じツールを使用して、キャッシュのフラッシュやノードのリペアなどの、特定の管理コマンドおよび操作を実行できます。
nodetoolユーティリティを使用した監視
nodetoolユーティリティは、クラスターを監視したり、日常のデータベース操作を実行したりするためのコマンドライン・インターフェイスです。このユーティリティは、通常、動作ノードから実行します。
nodetoolユーティリティは、JMXの最も重要なメトリックおよび操作をサポートしています。また、proxyhistogramコマンドなどのクラスターの管理に役立つ他のコマンドが含まれています。
nodetool proxyhistograms
proxy histograms
Percentile Read Latency Write Latency Range Latency
(micros) (micros) (micros)
50% 1502.50 375.00 446.00
75% 1714.75 420.00 498.00
95% 31210.25 507.00 800.20
98% 36365.00 577.36 948.40
99% 36365.00 740.60 1024.39
Min 616.00 230.00 311.00
Max 36365.00 55726.00 59247.00
リングとその健全性の現状に関する簡単なサマリーを出力するには、nodetool statusを使用します。例を次に示します。nodetool status
Note: Ownership information does not include topology; for complete information, specify a keyspace
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 127.0.0.1 47.66 KB 1 33.3% aaa1b7c1-6049-4a08-ad3e-3697a0e30e10 rack1
UN 127.0.0.2 47.67 KB 1 33.3% 1848c369-4306-4874-afdf-5c1e95b8732e rack1
UN 127.0.0.3 47.67 KB 1 33.3% 49578bf1-728f-438d-b1c1-d8dd644b6f7f rack1
- nodetool tablestatsは、各テーブルおよびキースペースの統計を表示します。
- nodetool tablehistogramsは、読み取り/書き込みのレイテンシー、行サイズ、カラム数、SSTableの数など、テーブルの統計を提供します。
- nodetool netstatsは、ネットワーク操作および接続に関する統計を提供します。
- nodetool tpstatsは、スレッド・プールごとに、データベースの操作の各段階のアクティブなタスク、保留中のタスク、完了したタスクの数に関する統計を提供します。
nodetool sjkを使用して、その他のコマンドからは使用できない監視のためのMBean値を取得します。
nodetool sjk mx -b "org.apache.cassandra.metrics:name=LocalNodeNonreplicaRequests,type=ReadCoordination" -f Count -mg結果には要求数が含まれています。
org.apache.cassandra.metrics:type=ReadCoordination,name=LocalNodeNonreplicaRequests
45
JConsoleを使用した監視
- 概要
- Java VMおよび監視対象の値に関する概要情報を表示します。
- メモリー
- メモリーの使用に関する情報を表示します。
- [Threads(スレッド)]
- スレッドの使用に関する情報を表示します。
- [Classes(クラス)]
- クラス・ローディングに関する情報を表示します。
- [VM Summary(VMサマリー)]
- Java仮想マシン(VM)に関する情報を表示します。
- [MBeans]
- MBeanに関する情報を表示します。
[Overview]および[Memory]タブには、開発者にとって非常に役立つ情報が記載されています。[Memory(メモリー)]タブでは、ヒープと非ヒープのメモリー使用量を比較できます。また、Javaガーベージ・コレクションをすぐに実行するためのコントロール機能も備えています。
- org.apache.cassandra.auth
- パーミッション・キャッシュが含まれます。
- org.apache.cassandra.db
- キャッシング、テーブル・メトリック、およびコンパクションなど。
- org.apache.cassandra.internal
- ゴシップ、ヒンテッド・ハンドオフ、およびMemtable値などの内部サーバー操作。
- org.apache.cassandra.metrics
- CQLにおけるメトリクス、クライアント、キースペース、読み取りリペア、ストレージ、スレッド・プールやその他のトピックが含まれます。
- org.apache.cassandra.net
- FailureDetector、MessagingService、StreamingManagerなどのノード間通信。
- org.apache.cassandra.request
- 読み取り、書き込み、およびレプリケーション操作に関するタスク。
- org.apache.cassandra.service
- GCInspectorが含まれます。
ツリーのMBeanを選択すると、MBeanInfoおよびMBean記述子が右側に表示され、属性、操作、または通知は、ツリー内のその下に表示されます。たとえば、以下のように、テーブルで利用可能なアクションを表示するためにorg.apache.cassandra.db MBeanを選択して展開すると、以下のように表示されます。
JConsoleを使用してDataStax Enterpriseを監視することを選択する場合は、JConsoleがかなりの量のシステム・リソースを使用することに注意してください。このため、DataStaxでは、DataStax Enterpriseのノードと同じホスト上ではなく、リモート・マシンでJConsoleを実行することを推奨します。
JConsole CompactionManagerMBeanは、クラスターのキャパシティを増やす必要があるタイミングを示すことが可能なコンパクション・メトリックを公開しています。