• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

안녕하세요 elastic cloud를 사용하는데 cpu가 계속 칩니다 .

23.12.27 09:45 작성 조회수 140

0

안녕하세요 선생님!!!

elastic cloud를 사용하여 인덱싱을 하는데 계속 cpu가 치고 서버가 자꾸 다운이 되네요 ㅠㅠ

GET _cat/nodes?v=true&s=cpu:desc
cpu 노드 조회하면 아래와 같이 cpu로드가 너무 높고요,,


GET nodes/instance-0000000008/hotthreads 을 통해서 조회를 하니 아래와 같이 뜨네요..




샤드는 이정도 있구요! (default 샤드수 설정은 따로 건들지 않았습니다)



---

또한 snapshot을 30분 마다 저장 하고 있는데 (default가 30분마다 이더라고요) .. 이게 맞을까요?



snapshot이 cpu부하를 많이 줄까요? 30분마다 하니;; 이게 혹시 부하를 많이 주는지.. (증분백업으로 알고 있는데)

또한 위와 같이 현재 snapshot이 너무 많이 쌓여서 정리를 하고 싶은데 정책을 바꾸고 싶은데 (snapshot retain이라든지 근데 경고가 떠서,, 함부로 못건들고 있습니다..)

문제가 여러개라서.. 어디부터 건들어야 할지 난감하네요.. 혹시 좋은 방도가 있을까요?..

답변 1

답변을 작성해보세요.

1

우선 몇가지 데이터를 수집해 보면 좋겠습니다.

  1. 데이터 노드의 역할을 하고 있는 노드들의 CPU 개수 확인

    1. Load Average는 상대적인 개념이기 때문에 CPU 개수를 알아야 저 정도의 Load Average가 높은건지 아닌건지를 판단할 수 있습니다.

    2. 만약 CPU 개수에 비해 Load Average가 높다면 부하가 높은 상황이기 때문에 데이터 노드를 증설 하거나 데이터 노드의 사양을 높일 필요가 있습니다.

    3. 하지만 지금 상황에서는 데이터 노드를 증설해서 데이터 노드 당 보유하고 있는 샤드의 개수를 줄이는 게 더 좋은 선택이 될 것 같습니다.

  2. _cat/shards 를 통해서 노드들에 샤드가 어떻게 배치되어 있는지 확인

    1. 전체 샤드가 1,320개 인데 프라이머리 샤드와 레플리카 샤드가 노드 별로 분산되어 있는지를 확인해 볼 필요가 있습니다.

    2. 특정 노드에 몰려서 부하를 일으킬 수 있기 때문에 현재 샤드의 배치 상황을 확인해 봐야 합니다.

알려 주신 정보로만 추측해 봤을 때는 데이터 노드의 사양이 낮고 개수도 적어서 부하를 일으키는 것으로 보입니다. 저도 ElasticCloud는 사용해보지 않아서 잘 모르겠지만, 1번 부터 확인해 보고 데이터 노드 증설로 방향을 잡아 보면 좋을 것 같습니다.

Han Kim님의 프로필

Han Kim

질문자

2023.12.27

감사합니다 선생님!!! 참고해서 확인해보겠습니다!!!ㅎ