kisusu's log

부하테스트로 인프라 스펙을 확정해보자

파일럿 유치에 앞서 우리 시스템의 안정성을 테스트로서 보장해야했다. 게이트웨이부터 분석 서버, DB까지 총 14회차에 걸쳐 부하테스트를 진행했는데, 앞단 모듈부터 순차적으로 부하를 주며 아래 내용을 확인했다. 각 모듈은 어디까지 버티고, 그때 어떤 자원이 병목이 되는가? 모듈이 죽을 때까지 올리는 Breakpoint Test로 모듈별 한계와 취약 ...

전환율 계산 쿼리 개선기

먼저 Analytics 서비스 특성 상, 전환율을 계산해주는 로직이 필요하다. 분자/분모 형태로, 앞단 이벤트를 겪은 전체 인원을 분모로, 그중에서 뒷단 이벤트를 발생시킨 인원을 분자로 둔다. 여기서 앞단 이벤트는 LLM의 응답 데이터를 관측한 인원이고, 뒷단 이벤트는 유저가 브라우저나 앱에서 발생시킨 특정한 이벤트 데이터이다. 전체 LLM 응답을 ...

우리 서버에 헥사고날이 필요했을까

분석 서버 스택을 코프링으로 정하고 나니, 다음 고민은 내부 아키텍처였다. MVP로 세운 단일 서버가 얼마나 오래 사용될지 몰랐기에, 한번에 잘 만들어두자는 욕심이 생겼다. 기본적으로는 도메인 패키징으로 디렉토리를 나눴고 그 하위를 구성하는 아키텍처를 정해야 했는데, 지금까지의 프로젝트에서 써온 레이어드 아키텍처가 당연하게도 먼저 떠올랐다. 다만...

MVP인데 메시지큐 꼭 필요한 거 맞아?

LLM Gateway를 만들면서, LLM 호출 정보를 분석 서버에 비동기로 넘겨줘야 했다. 토큰 사용량, 레이턴시, 요청/응답 본문, 서비스 자체 식별자 등등 이벤트 데이터를 분석 서버 쪽으로 넘겨야 하는데, 당연하게도 메시지 큐를 써야 한다는 생각이 들었다. 다만 지금 시기에는 개발 속도가 생명이었다. Kafka를 도입하자니 MVP라는 타겟에 비...

GitHub Blog 시작.

왜 블로그를 써야 하는데? 최근 개발에 시간을 쏟아가면서도, 성장하고 있다는 체감을 거의 하지 못했다. 여러 프로젝트에 걸쳐 개발하고, 공부하고 해왔지만 그 과정에서 익혔던 것들이 흩어져 있는 느낌 노션에 흩어져 있는 조각 페이지들은 한눈에 보기도 힘들고, 관리도 용이하지 못하다. 결국 가장 중요한 것은 탐구하고 기록하는 창구를 만들어두는 것 ...