하루 데이터 적재량의 규모가 적절한지 궁금합니다

안녕하세요,

현재 OpenTelemetry, Loki, Tempo 를 통해 수집한 log와 trace 를 Azure Storage Account Blob storage 에 저장하고 있습니다. (loki와 tempo 저장소가 storage account 입니다.) 이 서비스들을 이용하여 적재하고 있는 데이터가 24시간에 대략 200GB 정도인데, 이게 적절한 양인지 아니면 한 번 최적화를 거쳐야 할 양인지 가늠이 어려워 질문드립니다. ㅠ

서비스 규모는 아직은 크지 않으나, iot 데이터를 다루고 있어서 사용자의 트래픽보다 기기 트래픽이 조금 있는 편이고, msa구조로 기기 트래픽을 처리하는 특정 마이크로서비스들이 로그와 트레이스를 많이 찍어내는 편입니다. 연결된 기기대수는 대략 3만대정도입니다.

제미나이와 챗지피티에 질문해보긴 했으나 필드에 계신 실무자분들께 듣는게 더 정확할 것 같아 여쭤봅니다..

Please delete the above guidance before posting your question. (위 안내 문구는 글 작성 전에 삭제하신 후 질문을 남겨주세요. )

| This is a space where knowledge is not merely consumed, but respected, sovereign, and connected—shared together with cloud industry professionals (Bros).|
| 지식이 소비되지 않고 존중·주권보장·연결되는 공간으로 클라우드 현업 전문가(Bro)와 함께 공유하고 있습니다. |

2 Likes

안녕하세요, 저도 IoT 데이터를 다루고 있는 입장이라 반갑네요 ㅎㅎ

질문주신 내용을 보면 단순히 ‘적절한가?’ 에 대해서 해소가 필요하신건가요?
만약 현재 문제를 겪지 않고 있고, 단순 궁금증이라고 하시면 적절하다의 기준은 없습니다.

때문에 지금 설명해주신 내용만으로는 최적화가 필요한지 알 수가 없고, 최적화가 가능한지 파악하시는것이 좋지 않을까 싶습니다.
최적화가 가능한지 알아두기만 해도 이후 조치가 필요할때 큰 도움이 됩니다.


최적화가 필요한 경우

당장 생각나는 케이스는 아래와 같습니다.
만약 아래의 증상이 있다면 최적화 방안을 빠르게 마련하셔야 합니다.

  • 운영중인 머신의 리소스가 자주 부족하여 OOM 등의 문제가 생긴다
  • 로그 조회와 같은 액션을 취할 때 마다 성능이 느려서 매우 오래걸리거나, 응답이 오지 않는 경우가 있다

외에도 더 많은 최적화 시그널이 있을건데 저의 최적화 트리거는 ‘운영/이용에 지장을 주는가’ 입니다.


최적화 방안

최적화 방안을 모색하려면 다음과 같은 선택지가 있습니다.

  1. 데이터의 양을 두고 적절한가를 따지기 보다 불필요한 데이터가 저장되고 있지는 않은지 확인해야 합니다.
  2. 모든 데이터가 영원히 필요하지 않을수 있습니다. 데이터를 분류할 수 있어야 하고, 데이터를 얼마나 보관해야 하는지 life cycle을 결정하고 정리하는것을 자동화 해야 합니다. (기준만 명확하다면 수동으로 하시는것도 문제는 없습니다)
    1. 삭제 뿐만 아니라 자주 조회하지 않는 경우 Cold storage 로 이동하는 등의 조치로 비용 최적화도 고려해야 합니다.
    2. 외에도 압축하여 저장하던가, 조회 성능이 조금 느리지만 Serialize 하여 저장하는 등의 옵션을 제공하는 도구도 있습니다.
  3. 변화를 꾸준히 추적하고 대응해야 합니다.
    1. 갑자기 저장되는 로그가 많아진다면 트랜잭션 당 로그 양이 늘어난건지, 트랜잭션 자체가 늘어난건지 확인하고, 필요하면 로그 저장 기준을 더 구체화 하던가 개발팀에 요청하여 로깅 방식을 개선하는 등의 조치를 취할수 있겠습니다
  4. 불필요한 설정이나 부가 기능 활성화 등으로 인해 낭비되는 리소스가 있는지 검토해야 합니다.
  5. 마지막으로, 너무 최적화가 잘 되어있다면 과도하게 리소스가 할당되지는 않는지 CPU/Memory P50, P95, P99 등의 지표를 확인하고 적정 값으로 설정해주시면 되겠습니다.
2 Likes