Yuxian: CSDN コンテンツ パートナー、CSDN の新人スター メンター、フルスタック クリエイティブ スター クリエイター、51CTO (トップ セレブ + エキスパート ブロガー)、Github オープン ソース愛好家 (ゴーゼロ ソース コードの二次開発、ゲーム バックエンド アーキテクチャ https: https:/ /github.com/Peakchen)
Kibana のパフォーマンス最適化の原則
Kibana のパフォーマンス最適化の原則には、主に次の側面が含まれます。
-
データ ストレージ: Kibana はデータ ストレージとして Elasticsearch を使用し、Elasticsearch のインデックス作成とクエリのパフォーマンスを最適化することで Kibana のパフォーマンスを向上させることができます。
-
データ集約: Kibana の視覚化機能と検索機能はどちらもデータ集約操作を必要とし、集約操作を最適化することでパフォーマンスを向上させることができます。
-
データ キャッシュ: Kibana は一部のデータと結果をキャッシュし、キャッシュを最適化することでパフォーマンスを向上させることができます。
-
ネットワーク伝送: Kibana と Elasticsearch 間のネットワーク伝送もパフォーマンスに影響し、ネットワーク伝送を最適化することでパフォーマンスを向上させることができます。
- 関連するインターフェースの使用方法の詳細な紹介
Kibana パフォーマンス最適化の関連インターフェイスには、主に次の側面が含まれます。
-
Elasticsearch API: 断片化やレプリカによるクエリ パフォーマンスの最適化など、Elasticsearch のインデックス作成とクエリ パフォーマンスを最適化するために使用されます。
-
Kibana API: 集計操作の最適化によるパフォーマンスの向上など、Kibana の視覚化および検索機能を最適化するために使用されます。
-
キャッシュ API: キャッシュのクリア、キャッシュ サイズの設定など、Kibana のキャッシュを管理するために使用されます。
-
ネットワーク API: 圧縮や暗号化による伝送パフォーマンスの向上など、Kibana と Elasticsearch 間のネットワーク伝送を最適化するために使用されます。
- 利用シーンの説明
Kibana パフォーマンス最適化の使用シナリオには次のものがあります。
-
大量のデータ: データの量が多い場合、Kibana にパフォーマンスの問題が発生する可能性があるため、Kibana のクエリおよび集計操作を最適化する必要があります。
-
複雑なクエリ: クエリ ステートメントが複雑な場合、Kibana のクエリ パフォーマンスが影響を受ける可能性があるため、Elasticsearch のクエリ パフォーマンスを最適化する必要があります。
-
マルチユーザーアクセス: 複数のユーザーが同時に Kibana にアクセスすると、Kibana のパフォーマンスに影響が出る可能性があるため、Kibana のキャッシュとネットワーク送信を最適化する必要があります。
-
安全な送信: データを暗号化して安全に送信する必要がある場合、Kibana と Elasticsearch 間のネットワーク送信を最適化する必要があります。
- ドキュメントへのリンク
関連する文献や資料へのリンクをいくつか示します。
-
Kibana パフォーマンス チューニング ガイド: https://www.elastic.co/guide/en/kibana/current/performance-tuning.html
-
Elasticsearch パフォーマンス最適化ガイド:検索速度の調整 | Elasticsearch ガイド [8.9] | Elastic
-
Kibana キャッシュ構成ガイド: https://www.elastic.co/guide/en/kibana/current/advanced-cache-configuration.html
パフォーマンスの最適化のために Kibana を使用した実装例を次に示します。
- Elasticsearch のインデックス作成とクエリのパフォーマンスの最適化
次の側面を通じて、Elasticsearch のインデックス作成とクエリのパフォーマンスを最適化できます。
-
シャードとレプリカ: シャードとレプリカの数を増やすと、クエリのパフォーマンスと可用性が向上します。
-
インデックスの最適化: インデックス マッピング、アナライザー、フラグメントの数を最適化すると、クエリのパフォーマンスが向上します。
-
クエリの最適化: クエリ ステートメント、クエリ条件、並べ替えなどを最適化すると、クエリのパフォーマンスが向上します。
Elasticsearch API を使用してインデックス作成とクエリのパフォーマンスを最適化する例を次に示します。
PUT /my_index/_settings
{
"index": {
"number_of_shards": 5,
"number_of_replicas": 1
}
}
PUT /my_index/_mapping
{
"properties": {
"name": {
"type": "text",
"analyzer": "ik_max_word"
},
"age": {
"type": "integer"
}
}
}
POST /my_index/_search
{
"query": {
"match": {
"name": "john"
}
},
"sort": [
{
"age": {
"order": "desc"
}
}
]
}
この例では、my_index インデックスのシャード数を 5 に、コピー数を 1 に増やし、インデックスのマッピングを最適化し、ik_max_word アナライザーを使用して名前フィールドをセグメント化し、クエリ ステートメントを最適化し、match を使用して名前をクエリします。 「john」ドキュメントを含むフィールド。年齢フィールドで降順に並べ替えられます。
- Kibana の視覚化と検索機能を最適化する
次の側面を通じて、Kibana の視覚化および検索機能を最適化できます。
-
集計の最適化: 集計の粒度、バケット サイズ、日付間隔などを最適化すると、視覚化と検索のパフォーマンスが向上します。
-
視覚化の最適化: 視覚化チャートの種類、データ量、色などを最適化すると、視覚化のパフォーマンスが向上します。
-
検索の最適化: 検索語、フィルター条件、時間範囲などを最適化すると、検索パフォーマンスが向上します。
Kibana API を使用して視覚化と検索機能を最適化する例を次に示します。
-
集計の最適化: ヒストグラムの Y 軸で集計関数を「avg」に設定し、「日次」時間間隔を使用します。
-
視覚化の最適化: ヒストグラムに表示されるバーの数を 100 に制限し、色をグレーに設定します。
-
検索の最適化: KQL 構文を使用して検出ページのデータをフィルターし、期間を過去 7 日間に設定します。
- Kibana キャッシュの最適化
Kibana は一部のデータと結果をキャッシュします。Kibana のキャッシュは次の側面を通じて最適化できます。
-
キャッシュのクリア: Kibana のキャッシュを定期的にクリアすると、メモリが解放され、パフォーマンスが向上します。
-
キャッシュ サイズ: 適切なキャッシュ サイズを設定すると、メモリとパフォーマンスのバランスをとることができます。
以下は、Cache API を使用して Kibana キャッシュを最適化する例です。
DELETE /api/saved_objects/_cache
{
"cache": "dashboard",
"id": "my_dashboard"
}
PUT /api/kibana/settings
{
"cache.max_size": "500mb"
}
この例では、「my_dashboard」という名前のダッシュボードのキャッシュをクリアし、Kibana のキャッシュを最大サイズ 500MB に設定します。
上記は、パフォーマンスの最適化のために Kibana を使用した実装例です。Elasticsearch のインデックス作成とクエリのパフォーマンスを最適化し、Kibana の視覚化と検索機能を最適化し、Kibana のキャッシュを最適化することで、Kibana のパフォーマンスを向上させ、データ分析と探索の効率を向上させることができます。