Skip to content

실시간 데이터를 이용한 ElasticSearch 클러스터 최적화 | BOAZ 17th BigData Conference

Notifications You must be signed in to change notification settings

noooey/elasticsearch-cluster-optimization

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

실시간 데이터를 이용한

Elasticsearch 인덱싱 성능 최적화

Introduction

실시간 데이터를 이용한 Elasticsearch 인덱싱 성능 최적화 실험 및 결과 보고

Data

알라딘 API 데이터 스키마 이용 필드가 더 많이 중첩되어있는 상황을 가정하여 nested field 추가

Environment

image

Architecture

architecture

Indexing Optimization

IR Indexing Rate
IL Indexing Latency

Dynamic Mapping vs Static Mapping

분류 Dynamic Static
IR
604.83 /s 638.24 /s
IL
0.3ms 0.17ms
  • Static Mapping 일 때 최대 성능
  • 성능 향상
    • IR 약 1.06배 증가
    • IL 약 1.78배 감소

Number of Primary Shards

분류 2 shards 4 shards 8 shards 16 shards
IR
653.18 /s 640.79 /s 647.39 /s 640.91 /s
IL
0.20ms 0.23ms 0.34ms 0.44ms
  • 2 Primary shards 일 때 최대 성능
  • 성능 향상
    • IR 약 1.02배 증가
    • IL 약 1.60배 감소

Number of Data nodes

분류 2 nodes 3 nodes 4 nodes
IR
653.18 /s 590.86 /s 554.23 /s
IL
0.20ms 0.26ms 0.32ms
  • 2 Data nodes 일 때와 성능 변화 X

Nested field vs Unnested field

분류 Nested Unnested
IR
653.18 /s 1983.51 /s
IL
0.20ms 0.07ms
  • Unnested field 일 때 최대 성능
  • 성능 향상
    • IR 약 3.04배 증가
    • IL 약 2.86배 감소

Conclusion

성능 변화

Before Optimization After Optimization
1 Ingest node 1 Ingest node
1 Master(Data) node 1 Master(Data) node
0 Data-only node 1 Data-only node
1 Primary shard 2 Primary shard
1 Replica shard 1 Replica shard
Dynamic mapping Static mapping
IR: 604.83 /s IR: 1983.51 /s
IL: 0.32 ms IL: 0.07 ms

한계

  • PC가 한 대여서 구성의 이점 누리기 어려움
  • SSD를 이용하기 때문에 GC로 인한 성능 편차 존재
  • 실험의 용이성을 위해 데이터 스트림을 일정하게 하여 실제 환경과 거리감 존재
  • 검생 성능 고려 X

About

실시간 데이터를 이용한 ElasticSearch 클러스터 최적화 | BOAZ 17th BigData Conference

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%