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

es_rejected_execution_exception: es_rejected_execution_exception: rejected execution of ... on ... (queue capacity ...) (HTTP 429)

Elasticsearch

의미

해당 thread pool(search, write/bulk 등)의 큐 용량이 가득 차 작업이 거부되었다. 과부하 상태에서 Elasticsearch는 요청을 거절해 스스로를 보호하며(backpressure) HTTP 429(Too Many Requests)를 반환한다.

원인

매우 많은 동시 요청, 매우 크거나 매우 빈번한 bulk 요청, 무거운 aggregation/검색 부하, 부족한 노드/CPU 리소스, 또는 워크로드에 비해 너무 작은 thread pool 큐.

해결 방법

클라이언트 측에서 exponential backoff로 재시도한다. 429는 보통 일시적이다. bulk 배치 크기와 전송 속도를 줄이고 동시성을 낮춘다. 거부된 작업을 모니터링한다: GET _cat/thread_pool?v&h=node_name,name,active,queue,rejected. 지속적인 부하에는 노드/리소스를 추가한다(수평 확장). 큐 크기를 늘리는 것은 최후의 수단이며 근본 원인은 용량이다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목