반응형

performanceoptimization 3

[OpenTelemetry & Jaeger] 6. [분석] Jaeger UI를 활용한 트러블슈팅과 성능 최적화

1. 범인 색출의 시작: 트레이스 검색 (Search)Jaeger UI에 접속하면 가장 먼저 보이는 것이 왼쪽 사이드바의 검색 메뉴입니다. 수만 개의 요청 중에서 문제가 되는 요청을 빠르게 찾아내는 것이 분석의 첫걸음입니다.단순히 서비스 이름만 선택하고 Find Traces를 누르는 것은 하수입니다. 팬돌프가 추천하는 실무 검색 팁은 바로 태그(Tags)를 활용하는 것입니다.에러난 요청만 보기: error=true 태그를 입력하면 빨간불이 켜진 트레이스만 골라낼 수 있습니다.특정 HTTP 상태 코드: http.status_code=500과 같이 입력하여 서버 오류만 필터링합니다.오래 걸린 요청: Min Duration에 2s 등을 입력하여 2초 이상 걸린 '거북이 요청'들만 조회합니다.2. 시간의 흐름을..

[OpenTelemetry & Jaeger] 5. OpenTelemetry Collector: 데이터 파이프라인 최적화의 핵심

1. 왜 Collector를 중간에 둬야 하나요?애플리케이션(Agent)에서 Jaeger 백엔드로 데이터를 직접 쏘는 구조는 소규모일 땐 괜찮지만, 대규모 환경에서는 다음과 같은 문제에 봉착합니다.앱 성능 저하: 데이터 압축, 암호화, 재시도 로직 등을 애플리케이션 리소스를 써서 처리해야 합니다.유연성 부족: "Jaeger 말고 Datadog으로도 데이터를 보내줘"라는 요청이 오면 모든 앱 설정을 바꿔야 합니다.데이터 홍수: 의미 없는 정상 응답 데이터(OK 200)까지 모두 저장하느라 스토리지 비용이 낭비됩니다.OpenTelemetry Collector는 애플리케이션과 백엔드 사이에 위치하여 데이터 수신, 가공, 전송을 전담하는 벤더 중립적인 프록시(Proxy)입니다.2. Collector 설정의 4대..

[Looker] 6. 성능 최적화: 쿼리 비용을 줄이는 데이터 엔지니어의 전략

안녕하세요, IT 전문 블로거 팬돌프입니다.화려한 대시보드를 만들어 배포했는데, 로딩하는 데 30초가 걸린다면 사용자들이 좋아할까요? 아마 "루커는 느려서 못 쓰겠다"라는 불만이 터져 나올 겁니다. 게다가 BigQuery 콘솔에 들어가 보니, 단순한 조회 쿼리 하나가 수 TB(테라바이트)를 스캔하고 있다면? 아마 팀장님께 불려 갈지도 모릅니다.루커는 단순히 쿼리를 날리는 도구가 아닙니다. 쿼리를 가장 스마트하게 날리는 엔진입니다.오늘은 캐싱 전략부터 루커 성능 최적화의 꽃이라 불리는 집계 인식(Aggregate Awareness)까지, 쿼리 비용은 줄이고 속도는 10배 높이는 비법을 공개합니다.1. 캐싱 정책(Caching Policy): 가장 쉬운 성능 향상가장 먼저 점검해야 할 것은 캐시(Cache)..

반응형