0

我的_search请求逐渐变得越来越慢,直到 504 网关超时。然后我看到了几十个超长运行的indices:data/read/search任务,看不到尽头,所以我尝试使用取消它们POST _tasks/_cancel?actions=*search(注意我只有一个感兴趣的节点,所以我不需要&node=...参数)。

这只会导致另一个 ( cancel) 任务被注册,现在甚至我的GET _tasksGET _cat/tasks?v请求都超时了。

我想知道是否可以

  1. running_time_in_nanos设置所有任务的属性上限search和/或自动取消所有超出的任务
  2. 当任务 API 本身超时时,强制取消任务而无需重新启动 ES 服务

旁注:我已经有一个健康检查 bash 脚本

if [ `curl -s -m 20 https://my-es-instance | grep "You Know, for Search" | wc -l` -ne 1 ];
then
  echo "`date "+%F %T"` app not responding" &>> $my_log_file
  ...

但它没有考虑到根 ( GET /) 可能正在运行,而_search端点却不是这样的事实。

这里的最佳做法是什么?

4

0 回答 0