--- title: "快速上手 INFINI Console 的 TopN 指标功能" date: 2025-01-11 lastmod: 2025-01-11 description: "INFINI Console新增TopN功能,可快速识别资源占用最高的节点、索引或分片,支持内存、CPU等关键指标分析,提升性能监控与优化效率,尤其适用于大规模集群场景。通过简洁界面和多维度数据分析,助力系统稳定高效运行。" tags: ["INFINI Console", "TopN", "指标"] summary: "背景 # 在分布式搜索引擎系统(如 Easysearch、Elasticsearch 和 OpenSearch)中,性能监控至关重要。为了确保系统的高效运行和资源的合理分配,我们通常需要关注一段时间内关键资源的使用情况,特别是索引、节点和分片的内存与 CPU 占用情况。 通过对这些关键指标进行 TopN 查询,我们能够识别出资源使用最多的节点、索引或分片,帮助我们快速定位潜在的性能瓶颈或过度负载的区域。这种实时监控不仅有助于优化集群的整体资源分配,还能在出现性能问题时迅速采取调整措施,避免对服务产生较大影响。 什么是 Console 的 TopN? # TopN 是 Console v1.28.0 中新增的主要功能,用于快速识别排名前 N 的关键指标数据点。它通过强大的多维度指标分析能力,帮助用户更高效地进行性能优化与决策分析。 随着集群节点数和索引数的不断增加,传统的监控方式已难以满足高效定位问题的需求。在过去,Console 的监控分析功能更多聚焦于单个节点或单个索引的多维指标,但当用户需要快速从所有节点或索引中找到 最忙、最慢 或 最大 的关键数据点时,往往显得非常不便。 尽管 Console 提供了强大的高级分析功能,但面对大量指标时,加载速度较慢、指标过于密集,难以直观发现问题。TopN 的推出,旨在解决这些痛点,为用户提供更加精准、高效的监控分析能力。 INFINI Console 提供的 TopN 指标功能,能够基于 内存占用、CPU 使用 等关键指标,帮助用户全面了解集群的性能状态。只需通过简单的操作,用户可以快速识别出 TopN 索引、节点或分片,从而进一步优化资源配置和系统性能。 功能介绍 # 点击左侧菜单 平台管理 》监控报表,选择 TopN Tab 页,然后您会看到如下界面: 如果我们选中的集群使用的是 INFINI Agent 采集的指标,这里我们看到的将是 节点 和 分片两个 Tab 页。 当前 Agent 采集模式不支持查看 TopN 索引,未来将增加此功能支持。 这里我们依次按如下步骤操作" --- ## 背景 在分布式搜索引擎系统(如 `Easysearch`、`Elasticsearch` 和 `OpenSearch`)中,性能监控至关重要。为了确保系统的高效运行和资源的合理分配,我们通常需要关注一段时间内关键资源的使用情况,特别是索引、节点和分片的内存与 CPU 占用情况。 通过对这些关键指标进行 **TopN 查询**,我们能够识别出资源使用最多的节点、索引或分片,帮助我们快速定位潜在的性能瓶颈或过度负载的区域。这种实时监控不仅有助于优化集群的整体资源分配,还能在出现性能问题时迅速采取调整措施,避免对服务产生较大影响。 ## 什么是 Console 的 TopN? TopN 是 **Console v1.28.0** 中新增的主要功能,用于快速识别排名前 N 的关键指标数据点。它通过强大的多维度指标分析能力,帮助用户更高效地进行性能优化与决策分析。 随着集群节点数和索引数的不断增加,传统的监控方式已难以满足高效定位问题的需求。在过去,Console 的监控分析功能更多聚焦于单个节点或单个索引的多维指标,但当用户需要快速从所有节点或索引中找到 最忙、最慢 或 最大 的关键数据点时,往往显得非常不便。 尽管 Console 提供了强大的高级分析功能,但面对大量指标时,加载速度较慢、指标过于密集,难以直观发现问题。TopN 的推出,旨在解决这些痛点,为用户提供更加精准、高效的监控分析能力。 **INFINI Console** 提供的 **TopN 指标功能**,能够基于 **内存占用**、**CPU 使用** 等关键指标,帮助用户全面了解集群的性能状态。只需通过简单的操作,用户可以快速识别出 **TopN 索引、节点或分片**,从而进一步优化资源配置和系统性能。 ## 功能介绍 点击左侧菜单 `平台管理 》监控报表`,选择 **TopN Tab** 页,然后您会看到如下界面: {{% load-img "/img/blog/2025/console-top-n-metrics/empty.png" "" %}} > 如果我们选中的集群使用的是 INFINI Agent 采集的指标,这里我们看到的将是 **节点** 和 **分片**两个 Tab 页。 > 当前 Agent 采集模式不支持查看 TopN 索引,未来将增加此功能支持。 这里我们依次按如下步骤操作 - 索引 Tab 页 - 配置 top 值,默认 15 - 选择面积指标,这里我们选择 `Segment Memory` - 选择颜色指标(可选操作),这里我们选择 `Index Storage` - 点击搜索按钮 然后我们可以看到内存占用最为严重的 15 个索引,如下所示: {{% load-img "/img/blog/2025/console-top-n-metrics/treemap-mode.jpg" "" %}} > 默认我们使用面积指标进行 Top 排序,如果需要按选中的颜色指标排序,可以点击上图中的**交换**按钮来实现 如果您不是通过全新安装的 **INFINI Console**, 而是通过旧版本升级的,那么您需要如下额外操作才能正常使用: 1. 复制如下脚本到 **INFINI Console** 开发工具里面 {{< expand "指标脚本" "..." >}} ```dsl #shard level PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/bD2jH5QB7KvGccywNCH9 { "id": "bD2jH5QB7KvGccywNCH9", "name": "Indexing Rate", "key": "indexing_rate", "level": "shard", "formula": "bD2jH5QB7KvGccywNCH9/{{.bucket_size_in_second}}", "items": [ { "name": "bD2jH5QB7KvGccywNCH9", "field": "payload.elasticsearch.shard_stats.indexing.index_total", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "doc/s", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/bD2jH5QB7KvGccywNCH1 { "id": "bD2jH5QB7KvGccywNCH1", "name": "Shard Storage", "key": "shard_storage", "level": "shard", "formula": "bD2jH5QB7KvGccywNCH1", "items": [ { "name": "bD2jH5QB7KvGccywNCH1", "field": "payload.elasticsearch.shard_stats.store.size_in_bytes", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "bytes", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/bD2jH5QB7KvGccywNCH5 { "id": "bD2jH5QB7KvGccywNCH5", "name": "Document Count", "key": "doc_count", "level": "shard", "formula": "bD2jH5QB7KvGccywNCH5", "items": [ { "name": "bD2jH5QB7KvGccywNCH5", "field": "payload.elasticsearch.shard_stats.docs.count", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "number", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/bD2jH5QB7KvGccywNCH2 { "id": "bD2jH5QB7KvGccywNCH2", "name": "Search Rate", "key": "search_rate", "level": "shard", "formula": "bD2jH5QB7KvGccywNCH2/{{.bucket_size_in_second}}", "items": [ { "name": "bD2jH5QB7KvGccywNCH2", "field": "payload.elasticsearch.shard_stats.search.query_total", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "doc/s", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/bD2jH5QB7KvGccywNCH3 { "id": "bD2jH5QB7KvGccywNCH3", "name": "Indexing Latency", "key": "indexing_latency", "level": "shard", "formula": "bD2jH5QB7KvGccywNCx3/bD2jH5QB7KvGccywNCH3", "items": [ { "name": "bD2jH5QB7KvGccywNCx3", "field": "payload.elasticsearch.shard_stats.indexing.index_total", "statistic": "rate" }, { "name": "bD2jH5QB7KvGccywNCH3", "field": "payload.elasticsearch.shard_stats.indexing.index_time_in_millis", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "ms", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/bD2jH5QB7KvGccywNCH4 { "id": "bD2jH5QB7KvGccywNCH4", "name": "Search Latency", "key": "search_latency", "level": "shard", "formula": "bD2jH5QB7KvGccywNCx4/bD2jH5QB7KvGccywNCH4", "items": [ { "name": "bD2jH5QB7KvGccywNCH4", "field": "payload.elasticsearch.shard_stats.search.query_total", "statistic": "rate" }, { "name": "bD2jH5QB7KvGccywNCx4", "field": "payload.elasticsearch.shard_stats.search.query_time_in_millis", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "ms", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/bD2jH5QB7KvGccywNCH6 { "id": "bD2jH5QB7KvGccywNCH6", "name": "Segment Count", "key": "segment_count", "level": "shard", "formula": "bD2jH5QB7KvGccywNCH6", "items": [ { "name": "bD2jH5QB7KvGccywNCH6", "field": "payload.elasticsearch.shard_stats.segments.count", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "number", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/bD2jH5QB7KvGccywNCH7 { "id": "bD2jH5QB7KvGccywNCH7", "name": "Segment memory", "key": "segment_memory", "level": "shard", "formula": "bD2jH5QB7KvGccywNCH7", "items": [ { "name": "bD2jH5QB7KvGccywNCH7", "field": "payload.elasticsearch.shard_stats.segments.memory_in_bytes", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "number", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } #indices level PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/aD2jH5QB7KvGccywNCH9 { "id": "aD2jH5QB7KvGccywNCH9", "name": "Indexing Rate", "key": "indexing_rate", "level": "indices", "formula": "aD2jH5QB7KvGccywNCH9/{{.bucket_size_in_second}}", "items": [ { "name": "aD2jH5QB7KvGccywNCH9", "field": "payload.elasticsearch.index_stats.primaries.indexing.index_total", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "doc/s", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/aD2jH5QB7KvGccywNCH1 { "id": "aD2jH5QB7KvGccywNCH1", "name": "Index Storage", "key": "index_storage", "level": "indices", "formula": "aD2jH5QB7KvGccywNCH1", "items": [ { "name": "aD2jH5QB7KvGccywNCH1", "field": "payload.elasticsearch.index_stats.total.store.size_in_bytes", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "bytes", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/aD2jH5QB7KvGccywNCH5 { "id": "aD2jH5QB7KvGccywNCH5", "name": "Document Count", "key": "doc_count", "level": "indices", "formula": "aD2jH5QB7KvGccywNCH5", "items": [ { "name": "aD2jH5QB7KvGccywNCH5", "field": "payload.elasticsearch.index_stats.total.docs.count", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "number", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/aD2jH5QB7KvGccywNCH2 { "id": "aD2jH5QB7KvGccywNCH2", "name": "Search Rate", "key": "search_rate", "level": "indices", "formula": "aD2jH5QB7KvGccywNCH2/{{.bucket_size_in_second}}", "items": [ { "name": "aD2jH5QB7KvGccywNCH2", "field": "payload.elasticsearch.index_stats.total.search.query_total", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "doc/s", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/aD2jH5QB7KvGccywNCH3 { "id": "aD2jH5QB7KvGccywNCH3", "name": "Indexing Latency", "key": "indexing_latency", "level": "indices", "formula": "aD2jH5QB7KvGccywNCx3/aD2jH5QB7KvGccywNCH3", "items": [ { "name": "aD2jH5QB7KvGccywNCH3", "field": "payload.elasticsearch.index_stats.primaries.indexing.index_total", "statistic": "rate" }, { "name": "aD2jH5QB7KvGccywNCx3", "field": "payload.elasticsearch.index_stats.primaries.indexing.index_time_in_millis", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "ms", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/aD2jH5QB7KvGccywNCH4 { "id": "aD2jH5QB7KvGccywNCH4", "name": "Search Latency", "key": "search_latency", "level": "indices", "formula": "aD2jH5QB7KvGccywNCx4/aD2jH5QB7KvGccywNCH4", "items": [ { "name": "aD2jH5QB7KvGccywNCH4", "field": "payload.elasticsearch.index_stats.total.search.query_total", "statistic": "rate" }, { "name": "aD2jH5QB7KvGccywNCx4", "field": "payload.elasticsearch.index_stats.total.search.query_time_in_millis", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "ms", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/aD2jH5QB7KvGccywNCH6 { "id": "aD2jH5QB7KvGccywNCH6", "name": "Segment Count", "key": "segment_count", "level": "indices", "formula": "aD2jH5QB7KvGccywNCH6", "items": [ { "name": "aD2jH5QB7KvGccywNCH6", "field": "payload.elasticsearch.index_stats.total.segments.count", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "number", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/aD2jH5QB7KvGccywNCH7 { "id": "aD2jH5QB7KvGccywNCH7", "name": "Segment memory", "key": "segment_memory", "level": "indices", "formula": "aD2jH5QB7KvGccywNCH7", "items": [ { "name": "aD2jH5QB7KvGccywNCH7", "field": "payload.elasticsearch.index_stats.total.segments.memory_in_bytes", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "bytes", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } #node level PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/jD2jH5QB7KvGccywNCH9 { "id": "jD2jH5QB7KvGccywNCH9", "name": "Indexing Rate", "key": "indexing_rate", "level": "node", "formula": "jD2jH5QB7KvGccywH9/{{.bucket_size_in_second}}", "items": [ { "name": "jD2jH5QB7KvGccywH9", "field": "payload.elasticsearch.node_stats.indices.indexing.index_total", "statistic": "derivative" } ], "statistics": ["rate"], "format": "number", "unit": "doc/s", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/jD2jH5QB7KvGccywNCH4 { "id": "jD2jH5QB7KvGccywNCH4", "name": "Process CPU Usage", "key": "process_cpu_used", "level": "node", "formula": "jD2jH5QB7KvGccywNCH4", "items": [ { "name": "jD2jH5QB7KvGccywNCH4", "field": "payload.elasticsearch.node_stats.process.cpu.percent", "statistic": "avg" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "", "unit": "%", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/jD2jH5QB7KvGccywNCH3 { "id": "jD2jH5QB7KvGccywNCH3", "name": "JVM Heap Usage", "key": "jvm_heap_used", "level": "node", "formula": "jD2jH5QB7KvGccywNCH3", "items": [ { "name": "jD2jH5QB7KvGccywNCH3", "field": "payload.elasticsearch.node_stats.jvm.mem.heap_used_in_bytes", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "bytes", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/jD2jH5QB7KvGccywNCH1 { "id": "jD2jH5QB7KvGccywNCH1", "name": "Indexing Latency", "key": "indexing_latency", "level": "node", "formula": "jD2jH5QB7KvGccywNCx1/jD2jH5QB7KvGccywNCH1", "items": [ { "name": "jD2jH5QB7KvGccywNCH1", "field": "payload.elasticsearch.node_stats.indices.indexing.index_total", "statistic": "rate" }, { "name": "jD2jH5QB7KvGccywNCx1", "field": "payload.elasticsearch.node_stats.indices.indexing.index_time_in_millis", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "ms", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/jD2jH5QB7KvGccywNCH0 { "id": "jD2jH5QB7KvGccywNCH0", "name": "Search Rate", "key": "search_rate", "level": "node", "formula": "jD2jH5QB7KvGccywH0/{{.bucket_size_in_second}}", "items": [ { "name": "jD2jH5QB7KvGccywH0", "field": "payload.elasticsearch.node_stats.indices.search.query_total", "statistic": "derivative" } ], "statistics": ["rate"], "format": "number", "unit": "query/s", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/jD2jH5QB7KvGccywNCH9 { "id": "jD2jH5QB7KvGccywNCH9", "name": "Indexing Rate", "key": "indexing_rate", "level": "node", "formula": "jD2jH5QB7KvGccywH9/{{.bucket_size_in_second}}", "items": [ { "name": "jD2jH5QB7KvGccywH9", "field": "payload.elasticsearch.node_stats.indices.indexing.index_total", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "doc/s", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/jD2jH5QB7KvGccywNCH5 { "id": "jD2jH5QB7KvGccywNCH5", "name": "Search Latency", "key": "search_latency", "level": "node", "formula": "jD2jH5QB7KvGccywNCx5/jD2jH5QB7KvGccywNCH5", "items": [ { "name": "jD2jH5QB7KvGccywNCH5", "field": "payload.elasticsearch.node_stats.indices.search.query_total", "statistic": "rate" }, { "name": "jD2jH5QB7KvGccywNCx5", "field": "payload.elasticsearch.node_stats.indices.search.query_time_in_millis", "statistic": "rate" } ], "statistics": ["rate"], "format": "number", "unit": "ms", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/jD2jH5QB7KvGccywNCH6 { "id": "jD2jH5QB7KvGccywNCH6", "name": "Indices Storage", "key": "indices_storage", "level": "node", "formula": "jD2jH5QB7KvGccywNCH6", "items": [ { "name": "jD2jH5QB7KvGccywNCH6", "field": "payload.elasticsearch.node_stats.indices.store.size_in_bytes", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "bytes", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } PUT $[[SETUP_INDEX_PREFIX]]metric/_doc/jD2jH5QB7KvGccywNCH7 { "id": "jD2jH5QB7KvGccywNCH7", "name": "Document Count", "key": "doc_count", "level": "node", "formula": "jD2jH5QB7KvGccywNCH7", "items": [ { "name": "jD2jH5QB7KvGccywNCH7", "field": "payload.elasticsearch.node_stats.indices.docs.count", "statistic": "max" } ], "statistics": ["max", "min", "sum", "avg", "p99", "medium"], "format": "number", "unit": "", "builtin": true, "created": "2025-01-09T14:30:56.63155+08:00", "updated": "2025-01-09T14:30:56.63155+08:00" } ``` {{< /expand >}} 2. 将字符串 `$[[SETUP_INDEX_PREFIX]]` 批量替换成实际的索引前缀,如果您未修改该配置,默认为 `.infini_` 如果您想查看简洁模式,可以点击表格模式切换,如下图所示: {{% load-img "/img/blog/2025/console-top-n-metrics/table-mode.png" "" %}} ## 总结 **INFINI Console** 的 **TopN 指标功能** 使得用户能够更加高效地进行性能监控与分析,尤其是在面对大量节点、索引和分片时。通过直观的 **TopN 排序**,用户可以快速识别出最占资源的节点、索引或分片,帮助提前发现性能瓶颈并进行及时优化。无论是在 **内存占用**、**CPU 使用** 还是 **索引存储** 等关键指标上,TopN 功能都能提供清晰的视图,从而促进系统资源的合理分配和性能的持续提升。 随着集群规模的不断扩大,传统的监控方式可能显得繁琐且低效。**INFINI Console** 的这一新功能通过简洁易用的操作界面和强大的多维度数据分析能力,极大提升了性能优化和决策分析的效率。在实际使用中,用户可以根据需求灵活配置,实时获取最需要关注的资源消耗点,进而采取优化措施,保证系统的稳定性和高效性。