Elasticsearch Index Monitoring(索引监控)之Index Stats API详解(1)

“index_current” : 0,

“index_failed” : 0,

“delete_total” : 0,

“delete_time_in_millis” : 0,

“delete_current” : 0,

“noop_update_total” : 0,

“is_throttled” : false,

“throttle_time_in_millis” : 0

}

其返回字段说明如下:

  • index_total

索引操作总次数。

  • index_time_in_millis

索引操作总耗时。

  • index_current

当前正在执行索引操作的个数。

  • index_failed

失败的索引操作次数。

  • delete_total

执行删除索引操作的次数。

  • delete_time_in_millis

删除索引操作总耗时。

  • delete_current

当前正在执行删除索引操作的个数。

  • noop_update_total

空更新总次数(检测到空更新的次数)。

  • is_throttled

索引是否处在merge throttling control(合并节流控制状态)。

  • throttle_time_in_millis

索引处在merge throttling control(合并节流状态)的时间开销。

4、get

get api 统计信息,其返回示例如下:

“get” : {

“total” : 0,

“time_in_millis” : 0,

“exists_total” : 0,

“exists_time_in_millis” : 0,

“missing_total” : 0,

“missing_time_in_millis” : 0,

“current” : 0

}

其返回字段说明如下:

  • total

get api总调用次数。

  • time_in_millis

get api总耗时。

  • exists_total

命中的次数。

  • exists_time_in_millis

命中的操作总耗时。

  • missing_total

未命中的总次数。

  • missing_time_in_millis

未命中的操作的总耗时。

  • current

当前正在执行的个数。

5、search

查询API的统计信息,其返回示例如下:

“search” : {

“open_contexts” : 0,

“query_total” : 0,

“query_time_in_millis” : 0,

“query_current” : 0,

“fetch_total” : 0,

“fetch_time_in_millis” : 0,

“fetch_current” : 0,

“scroll_total” : 0,

“scroll_time_in_millis” : 0,

“scroll_current” : 0,

“suggest_total” : 0,

“suggest_time_in_millis” : 0,

“suggest_current” : 0

},

其返回字段说明如下:

  • open_contexts

正在打开的查询上下文个数。

  • query_total

查询出来的总数据条数。

  • query_time_in_millis

查询阶段所耗费的时间。

  • query_current

当前正在查询个数。

  • fetch_total

Fetch操作的次数。

  • fetch_time_in_millis

Fetch阶段总耗时时间。

  • fetch_current

正在fetch的次数。

  • scroll_total

通过scroll api查询数据总条数。

  • scroll_time_in_millis

通过scroll api总耗时时间。

  • scroll_current

当前滚动API调用次数。

  • suggest_total

通过suggest api获取的推荐总数量。

  • suggest_time_in_millis

suggest总耗费时间。

  • suggest_current

正在执行suggest api的个数。

6、merges

合并相关的统计信息,其输出示例如下:

“merges” : {

“current” : 0,

“current_docs” : 0,

“current_size_in_bytes” : 0,

“total” : 0,

“total_time_in_millis” : 0,

“total_docs” : 0,

“total_size_in_bytes” : 0,

“total_stopped_time_in_millis” : 0,

“total_throttled_time_in_millis” : 0,

“total_auto_throttle_in_bytes” : 104857600

}

其返回字段说明如下:

  • current

总发生的合并次数。

  • current_docs

当前正在发生合并的文档数。

  • current_size_in_bytes

当前合并参与的文档总大小,单位字节。

  • total

总发生的合并次数。

  • total_time_in_millis

合并的总耗时(单位毫秒)。

  • total_docs

merge(合并)时总处理的文档个数。

  • total_size_in_bytes

merge(合并)时总处理的文档总大小(字节)。

  • total_stopped_time_in_millis

merge(合并)时总停止时间(吞吐率为0)。

  • total_throttled_time_in_millis

超过指定吞吐率而暂停的时间(节流)。

  • total_auto_throttle_in_bytes

自动进行流控的阔值,默认速率20m/s。

7、refresh

刷新索引相关的统计。

“refresh” : {

“total” : 15,

“total_time_in_millis” : 0,

“listeners” : 0

}

其返回字段说明如下:

  • total

执行刷新的总次数。

  • total_time_in_millis

执行刷新总耗时。

  • listeners

等待刷新侦听器的数量。

8、flush

刷盘的统计信息。

“flush” : {

“total” : 5,

“periodic” : 0,

“total_time_in_millis” : 0

}

其返回字段说明如下:

  • total

执行刷盘操作的次数。

  • periodic

当translog超过刷新阈值时周期性触发的刷新次数。

  • total_time_in_millis

刷盘操作总耗时时间。

9、warmer

索引分片(shard)预热统计信息,分片预热是指为索引创建一个分片节点时,是否对该索引预热(为索引创建一bitSet位图)。其统计示例如下:

“warmer” : {

“current” : 0,

“total” : 5,

“total_time_in_millis” : 0

}

其返回字段说明如下:

  • current

当前正在预热的个数。

  • total

总共发生的预热次数。

  • total_time_in_millis

分片预热总耗时。

10、query_cache

查询缓存统计信息,其示例如下:

“query_cache” : {

“memory_size_in_bytes” : 0,

“total_count” : 0,

“hit_count” : 0,

“miss_count” : 0,

“cache_size” : 0,

“cache_count” : 0,

“evictions” : 0

}

其返回字段说明如下:

  • memory_size_in_bytes

查询缓存占用的内存空间,单位为字节。

  • total_count

缓存中查询的总次数,等于hit_count + miss_count。

  • hit_count

查询缓存命中的次数。

  • miss_count

查询缓存未命中的次数。

  • cache_size

当前查询缓存中缓存文档的个数。

  • cache_count

查询缓存总缓存文档个数(包含已经被换出evictions的文档个数)。

  • evictions

查询缓存被逐出的总数。

11、fielddata

fielddata统计信息,fielddata主要用加快text字段排序与聚合的性能,存储词根与文档的映射关系存储在在内存,在内存中进行排序与聚合。

“fielddata” : {

“memory_size_in_bytes” : 0,

“evictions” : 0

}

其返回字段说明如下:

  • memory_size_in_bytes

当前占用内存的大小。

  • evictions

被逐出词根的个数。

12、completion

completion(自动填充)相关统计,其输出示例为:

“completion” : {

“size_in_bytes” : 0

},

其返回字段说明如下:

  • size_in_bytes

自动提示占用字节数。

13、segments

检索打开段的内存使用情况。可选地,设置include_segment_file_size=true(默认为false),将输出每个Lucene索引文件的聚合磁盘使用情况,其返回示例如下:

“segments” : {

“count” : 32,

“memory_in_bytes” : 38078,

“terms_memory_in_bytes” : 23838,

“stored_fields_memory_in_bytes” : 9984,

“term_vectors_memory_in_bytes” : 0,

“norms_memory_in_bytes” : 2048,

“points_memory_in_bytes” : 32,

“doc_values_memory_in_bytes” : 2176,

“index_writer_memory_in_bytes” : 0,

“version_map_memory_in_bytes” : 0,

“fixed_bit_set_memory_in_bytes” : 0,

“max_unsafe_auto_id_timestamp” : -1,

“file_sizes” : { }

},

其返回字段说明如下:

  • count

该索引目前拥有的总段数。

  • memory_in_bytes

该索引缓存在内存中字节数。

  • terms_memory_in_bytes

倒排索引(term)缓存在内中所占字节数。

  • stored_fields_memory_in_bytes

该索引定义为stored_fields字段在内存中缓存的字节数。

  • term_vectors_memory_in_bytes

该索引term_vectors(词向量)在内存中所占字节数量。

  • norms_memory_in_bytes

该索引存储对应norms=true的字段当前在内存中缓存字节数。

  • points_memory_in_bytes

与地理位置相关的缓存数据。

  • doc_values_memory_in_bytes

设置为doc_values缓存在内存中的字节数(doc_values,列式存储)。

  • index_writer_memory_in_bytes

用于优化索引写的缓存(减少写磁盘的频率)。

  • version_map_memory_in_bytes

关于文档的版本映射所占内存大小。

  • fixed_bit_set_memory_in_bytes

fixed_bit_set内存,专门用来做nested查询的。

  • max_unsafe_auto_id_timestamp

es内部当前的自增ID。

  • file_sizes

其中如果设置为true,则file_sizes主要包含如下统计信息:

在这里插入图片描述

14、translog

translog统计信息(有点类似于Innodb的redo日志),其输出示例如下:

“translog” : {

“operations” : 0,

“size_in_bytes” : 1100,

“uncommitted_operations” : 0,

“uncommitted_size_in_bytes” : 1100,

“earliest_last_modified_age” : 0

}

其返回字段说明如下:

  • operations

写translog的次数(索引文档、更新文档、删除文档的总操作数量)。

  • size_in_bytes

translog实例管理的translog文件总大小。(一个索引引擎(InternalEngine)示例包含一个Translog实例)。

  • uncommitted_operations

当前还未提交到lucene中的操作次数(索引文档、更新文档、删除文档的操作数量)。

  • uncommitted_size_in_bytes

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。

开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题

注意不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友

最新“美团+字节+腾讯”一二三面问题,挑战一下你能走到哪一面?

互联网工程师必备的面试1000题

而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题

最新“美团+字节+腾讯”一二三面问题,挑战一下你能走到哪一面?

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
、实战项目、讲解视频,并且会持续更新!**

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。

开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题

注意不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友

[外链图片转存中…(img-ST8fbKKg-1713083003978)]

互联网工程师必备的面试1000题

而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题

[外链图片转存中…(img-T8qfQzPK-1713083003978)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值