问题描述
我的_search
请求逐渐变得越来越慢,直到504个网关超时。然后,我看到了数十个超长运行的indices:data/read/search
任务,它们看不到尽头,因此我尝试使用POST _tasks/_cancel?actions=*search
取消它们(请注意,我只有一个感兴趣的节点,因此不需要{ {1}}参数。
这仅导致另一个(&node=...
)任务被注册,现在甚至我的cancel
和GET _tasks
请求都超时了。
我想知道是否有可能
- 为所有
GET _cat/tasks?v
个任务的running_time_in_nanos
属性设置上限和/或自动取消所有超出的任务 - 强制取消任务,而不必在Tasks API本身超时的情况下重新启动ES服务
旁注:我已经有一个运行状况检查bash脚本
search
但是它没有考虑到以下事实:尽管根(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 /
端点却没有。
这里的最佳做法是什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)