Skip to main content
 首页 » 编程设计

介绍Elasticsearch热点线程

2022年07月19日155lidabo

有时Elasticsearch会由于cpu过度使用慢下来,我们需要检查原因。Elasticsearch提供监控热点线程的能力,可以方便查找问题具体与那些线程相关。

热点线程(hot thread)

java中定义热点线程为使用大量cpu并执行占用时间较长。我们可以Elasticsearch提供的api获取每个选择节点的热点线程。

请求API地址:

GET /_nodes/hot_threads 
 
GET /_nodes/<node_id>/hot_threads 

该API在集群中每个选定节点上产生一个热点线程分解。输出为纯文本,其中包含每个节点最热门线程的细分。如果elasticsearch启用了安全特性,必须有监控(monitor)或管理(manage)权限。

API参数说明

ignore_idle_threads
可选,默认为true,已知的空闲线程(例如在socket中等待select,或从空队列中获取任务)将被过滤掉。默认值为true。

interval
可选时间单位,执行第二次线程抽样的时间间隔。缺省500ms。

snapshots
可选,整数。抽样跟踪线程的数量,默认为10。

threads
可选,整数。指定提供热点线程的数量,默认为3。

master_timeout
可选时间单位,连接主节点的时间周期。如果超出时间没有响应请求失败并返回错误。缺省30s.

type
可选,字符串类型。抽样类型,包括block, cpu, wait三种类型,缺省cpu。

总结

本文介绍了检查Elaticsearch热点线程的API,可以用于检查Elasticsearch集群运行慢问题。


本文参考链接:https://blog.csdn.net/neweastsun/article/details/114170161
阅读延展