Skip to main content

Label


더 적은 레이블 = 더 좋은 성능

Loki는 레이블 키와 값의 조합으로 스트림(chunk->stream->storage)을 정의합니다. 여러 스트림에 걸쳐 쿼리해야하는 상황에서 Loki의 성능은 떨어집니다. 레이블이 적어진 다는 것은 스트림이 적어진다는 것을 의미하므로 따라서 성능이 좋아질 확률이 높아집니다.

Cardinality

Loki에서 카디널리티는 레이블과 키의 조합과 그에 따라 생성되는 스트림의 수를 의미합니다.

쿼리를 위해 높은 카디널리티를 가지는 ip와 같은 키는 레이블을 사용하지 않고 시간에 따른 샤딩, 병렬화, 필터 표현식(|=, !=, |~, !~)을 사용하는 것이 좋습니다.

Static Labels

env, app, tag 등 주어진 시스템/앱에 대한 정적인 레이블은 여러 스트림에 걸쳐 쿼리해야하는 상황이 적기 때문에 카디널리티에 따른 성능 영향을 덜 받습니다.

chunk_target_size

기본적으로 사용되는 chunk의 크기는 1 ~ 1.5 MB로 설정되어 있습니다. 이는 압축된 용량으로 5-10x(5 ~ 15 MB) 크기의 로그를 의미합니다.

1 분 이내로 chunk를 채우는 경우 동적 레이블을 사용하여 분할하는 것이 좋을 수 있지만, 그 외에는 나누지 않는 것이 좋습니다.