728x90

ClickHouse 3

[관측성] 트레이스 원본 바이너리 마스킹 base64 PII

부제: 관측 도구에 14MB base64를 통째로 보냈다가 멈춘 이야기LLM 서비스엔 관측 도구를 붙여 둔다.어떤 요청이 들어와 어떤 프롬프트로 무슨 답을 냈는지, 흐름을 트레이스로 남긴다.문제를 디버깅할 때 이 기록이 없으면 깜깜하다.그런데 이 기록에 넣지 말아야 할 게 있었다.원본을 통째로 실었다PDF를 분석하는 요청이 있었다.그 파일을 14MB짜리 base64 문자열로 바꿔 트레이스에 통째로 실어 보냈다."입력이 무엇이었나"를 남긴다는 게, 파일 원본을 그대로 담아 버린 것이다.트레이스 하나가 수십 MB로 부풀었다.이게 트레이스 저장소(ClickHouse)의 다른 버그와 맞물리면서 크게 번졌다.쿼리가 12시간 멈추고, 헬스체크까지 막혀서 컨테이너가 재시작을 반복했다.교훈은 분명했다.관측 도구는 "무..

Infra 2026.07.12

[ClickHouse] Langfuse 쿼리 스톨 오진단 24.10 타임아웃 슬롯 버그

부제: 그럴듯한 우회로 때우다 진짜 원인을 놓칠 뻔한 이야기관측용으로 Langfuse를 쓰고, 그 뒤에서 ClickHouse가 트레이스를 저장한다. 어느 날 이 ClickHouse가 12시간 동안 먹통이 됐다. 사고를 어떻게 잘못 짚었다가 바로잡았는지 적어둔다.증상프로세스는 살아 있었다. 크래시도 OOM도 아니었다. 그런데 모든 쿼리가 멈췄다. 헬스체크로 날리는 SELECT 1조차 응답을 못 했다. 타임아웃을 60초로 걸어 뒀는데, 그 한 줄짜리 쿼리가 로그상 75분 넘게 슬롯을 붙들고 있었다. 설정한 타임아웃이 그냥 무시된 거다. host swap도 9 GiB 가까이 올라 있었다.그럴듯했던 오답사고 직전에 서버가 PDF를 잔뜩 처리하던 참이었다. 그 과정에서 14MB짜리 base64 데이터가 트레이스에..

Infra 2026.07.01

[Langfuse] Self-Hosted v3: ClickHouse 서버 리소스 최적화

TL;DRLangfuse v3 셀프호스팅 환경에서 ClickHouse의 시스템 로그 테이블이 무한 증가하며 CPU 107%, 메모리 OOM, 디스크 I/O 폭증을 유발했다. Langfuse 공식 문서와 AWS Terraform 옵션을 참고하여 시스템 로그 비활성화, 백그라운드 스레드 축소, 메모리 제한 조정으로 CPU를 107%에서 5%로 낮췄다. 환경GCP Compute Engine: 8 vCPU, 8GB RAM, 100GB DiskLangfuse v3 (Docker Compose, 단일 노드)ClickHouse 24.10.2 (clickhouse/clickhouse-server:24-alpine)PostgreSQL 17 + pgvector, Redis 7, MinIO, Nginx1. 증상: 서버가 반..

Infra 2026.02.09
728x90