DBAtlas · 데이터베이스 운영 아틀라스

장기 실행 search 및 reindex 작업 찾기, 취소, 조절

Elasticsearch유지보수

명령어

# Longest running tasks:
GET _cat/tasks?v&detailed&h=action,task_id,parent_task_id,running_time,node,description&s=running_time:desc
# Search, reindex and by-query tasks, grouped by parent:
GET _tasks?actions=*search*,*reindex*,*byquery*&detailed=true&group_by=parents
# Cancel a single task:
POST _tasks/<task_id>/_cancel
# Cancel all search tasks (with care):
POST _tasks/_cancel?actions=*search*
# Slow down a running reindex/update_by_query:
POST _reindex/<task_id>/_rethrottle?requests_per_second=500

하는 일

클러스터에서 실행 중인 작업을 소요 시간 순으로 정렬하고, search와 bulk 작업을 쿼리 설명과 함께 보여 준다. 선택한 작업이나 모든 search를 취소하고 reindex/by-query 작업을 조절한다.

사용 시점

search thread pool이 가득 찰 때, CPU가 갑자기 오를 때, 대시보드가 무거운 aggregation으로 클러스터에 부담을 줄 때, 또는 update_by_query가 운영에 영향을 줄 때.

주의

취소는 협조적이다: 작업은 다음 체크포인트에서 멈추며 일부 단계(예: force merge)는 취소할 수 없다. 모든 search를 취소하면 사용자에게 오류가 반환된다. 취소된 reindex/by-query는 지금까지의 변경을 롤백하지 않으므로 대상에 부분 데이터가 남는다. 부모 작업이 취소되면 자식 작업도 취소된다.

DBAtlas에서 열기 →

관련 항목