[ElasticSearch] 성능 최적화의 해석

2024. 11. 24. 19:02·Data Enginnering/Elastic

출처; Elastic

성능 최적화의 해석

1. kB_read/s와 kB_wrtn/s의 의미

  • kB_read/s:
    • 디스크에서 데이터를 읽는 속도를 나타냅니다.
    • 검색 쿼리를 실행할 때 디스크에서 얼마나 많은 데이터를 읽는지 보여줍니다.
    • 검색 속도가 중요하다면, 읽기 속도가 높은 것이 일반적으로 더 많은 데이터가 처리되고 있음을 의미할 수 있습니다.
  • kB_wrtn/s:
    • 디스크에 데이터를 쓰는 속도를 나타냅니다.
    • 데이터 색인(indexing) 작업 시 얼마나 많은 데이터를 디스크에 쓰는지 보여줍니다.
    • 쓰기 속도가 높으면 색인이 활발하게 이루어지고 있다는 뜻이며, 쓰기 지연이 없으면 성능이 양호하다고 볼 수 있습니다.

2. 읽기 속도(kB_read/s) 증가

  • 좋은 신호일 수 있는 경우:
    • 검색 쿼리가 많아지고, 효율적으로 처리되고 있는 경우.
    • 캐시 미스(Cache Miss) 상황에서 디스크 읽기가 원활하게 이루어지고 있는 경우.
  • 문제가 될 수 있는 경우:
    • 캐시가 제대로 작동하지 않아 불필요한 디스크 읽기가 증가하는 경우.
    • 디스크 I/O가 병목 상태에 있어 읽기 작업이 전체 성능을 저해하는 경우.

3. 쓰기 속도(kB_wrtn/s) 감소

  • 좋은 신호일 수 있는 경우:
    • 불필요한 데이터 쓰기 작업이 줄어들거나, 효율적인 색인 설계가 이루어진 경우.
    • 데이터가 디스크 대신 메모리나 캐시에 잘 저장되고 있는 경우.
    • Refresh Interval이나 Translog 설정이 조정되어 디스크 쓰기 빈도가 줄어든 경우.
  • 문제가 될 수 있는 경우:
    • 쓰기 작업이 제대로 이루어지지 않아 데이터 손실 위험이 있는 경우.
    • 색인 지연(indexing lag)이 발생하거나, 쓰기 큐가 쌓이는 경우.

4. 성능 최적화 실험에서의 해석

  • Elasticsearch 성능 최적화 실험에서는 목표에 따라 **kB_read/s**와 **kB_wrtn/s**의 변화가 달라질 수 있습니다.

검색(읽기) 성능을 최적화하는 경우:

  • kB_read/s: 증가하는 것이 긍정적인 신호일 가능성이 높습니다. 이는 더 많은 검색 요청을 처리하거나, 효율적으로 데이터를 읽어오고 있다는 것을 나타냅니다.
  • kB_wrtn/s: 낮아지는 경우 문제가 없을 수 있습니다. 색인 작업이 적어지고, 읽기 중심의 작업으로 자원이 전환된 상황일 수 있습니다.

색인(쓰기) 성능을 최적화하는 경우:

  • kB_read/s: 일반적으로 큰 영향을 미치지 않으며, 주로 쓰기 성능 개선에만 집중합니다.
  • kB_wrtn/s: 높아지더라도 쓰기 지연이 없다면, 더 많은 데이터를 빠르게 처리하고 있다는 긍정적인 신호일 수 있습니다. 단, 디스크 I/O가 병목이 되지 않도록 모니터링해야 합니다.

5. 실험 결과가 좋은 상황 예시

  • 검색 성능 최적화:
    • kB_read/s 증가, kB_wrtn/s 감소:
      • 캐시 적중률이 높아졌거나, 데이터 읽기 효율이 향상된 상태.
  • 색인 성능 최적화:
    • kB_wrtn/s 증가, kB_read/s 유지 또는 감소:
      • 디스크 쓰기 병목 없이 더 많은 데이터를 색인할 수 있는 상태.

6. 최적화를 위한 추가 고려 사항

  • 디스크 I/O 병목:
    • iowait를 확인하여 디스크 쓰기/읽기 작업이 시스템의 병목을 초래하지 않는지 점검하세요.
  • 캐시 사용률:
    • Elasticsearch는 파일 시스템 캐시를 적극적으로 활용합니다. kB_read/s가 너무 높다면, 캐시 미스율을 점검하여 캐시를 더 효율적으로 사용할 수 있는 방법을 모색하세요.
  • Refresh Interval 조정:
    • 색인 작업이 많을 경우, refresh_interval을 늘려 쓰기 빈도를 줄이고, kB_wrtn/s를 낮출 수 있습니다.
  • Disk I/O 용량 모니터링:
    • 고성능 SSD를 사용하여 디스크 I/O 병목을 줄이는 것도 고려하세요.

 

 

 

 

 

'Data Enginnering > Elastic' 카테고리의 다른 글

[ElasticSearch] Logstash 와 Elasticsearch / 디스크 I/O 병목  (0) 2024.11.24
[Elasticsearch] 샤딩(Sharding), kBwrtn/s vs kBread/s 비교  (0) 2024.11.05
[ElasticSearch] 검색 성능 최적화  (1) 2024.11.04
[ElasticSearch] 데이터 처리, 검색 성능 최적화  (5) 2024.11.02
[ElasticSearch] 샤드 (Shard) & 인덱싱 (Indexing)  (0) 2024.11.01
'Data Enginnering/Elastic' 카테고리의 다른 글
  • [ElasticSearch] Logstash 와 Elasticsearch / 디스크 I/O 병목
  • [Elasticsearch] 샤딩(Sharding), kBwrtn/s vs kBread/s 비교
  • [ElasticSearch] 검색 성능 최적화
  • [ElasticSearch] 데이터 처리, 검색 성능 최적화
Ctrl_engineer
Ctrl_engineer
Ctrl 키는 혼자일 때보다 다른 키와 함께할 때 진짜 힘을 발휘합니다. 데이터도, 사람도 마찬가지입니다. 연결되고 흐를 때, 세상은 더 나은 방향으로 움직입니다. 저는 데이터의 흐름을 설계하고, 신뢰를 심는 엔지니어가 되고자 합니다. 이곳은, 그 여정의 작은 흔적들을 기록하는 공간입니다.
  • Ctrl_engineer
    Ctrl the flow
    Ctrl_engineer
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • Research (8)
        • Raspberry Pi (8)
      • Data Enginnering (24)
        • Cloud (3)
        • Elastic (6)
        • Database (9)
        • Pipeline (3)
      • CS STUDY (0)
        • Computer Science (0)
        • DataStructure & Algorithm (0)
      • Programming (13)
        • Python (13)
      • Mathematics and Statistics (10)
      • Data Science (3)
        • Data Insight (2)
        • Learning (0)
        • ML & DL (0)
      • DIARY (0)
      • TIL (Today I Learned) (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SQL
    Khan Academy
    부스트코스
    Khan
    elasticSearch
    py4e
    heap size
    Statistics and Probability
    proxyjump 설정
    오블완
    점프투파이썬
    spark
    라즈베리파이5
    3blue1brown
    linear algebra
    티스토리챌린지
    indexing
    ssh 비밀번호 없이 접속
    라즈베리파이 네트워크 설정
    climb-mates
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Ctrl_engineer
[ElasticSearch] 성능 최적화의 해석
상단으로

티스토리툴바