Go로 PostgreSQL 프록시 만들기 (38) - pprof 기반 최적화와 투명 프록시의 경계
pprof CPU/alloc 프로파일링으로 병목을 찾고, atomic.Pointer·ReadMessageReuse·wire buffer 재사용을 적용한다. 그리고 응답 batching이 왜 '투명한 프록시'의 원칙을 깨는지 분석한다.
pprof CPU/alloc 프로파일링으로 병목을 찾고, atomic.Pointer·ReadMessageReuse·wire buffer 재사용을 적용한다. 그리고 응답 batching이 왜 '투명한 프록시'의 원칙을 깨는지 분석한다.
세션 상태 추적으로 불필요한 DISCARD ALL을 건너뛰고, RouteWithTxState로 lock 횟수를 줄이고, 벤치마크 방법론을 개선한다.
QA 3차 리포트 5건 — AST 분류가 라우팅에 미반영, 캐시 테이블 무효화 no-op, 중복 파싱 5회/요청, 헬스체크 순차 지연, splitStatements 달러쿼팅 미처리 — 의 원인과 수정 과정을 정리한다.
프로덕션 쿼리를 Shadow DB에 비동기 미러링하여 패턴별 P50/P99 레이턴시를 비교하고 성능 회귀를 자동 감지하는 기능을 구현한다. PgBouncer에 없는 pgmux만의 킬러 피처.
지속적 프로파일링이 왜 2026년 실무 표준으로 올라오는지, APM과 어떻게 역할을 분리하고 어떤 기준으로 도입해야 하는지 정리합니다.
DB 락 경합을 측정하고 완화하는 실무 기준: 대기 시간, 충돌 패턴, 트랜잭션 설계, 운영 체크리스트
PostgreSQL에서 autovacuum이 밀릴 때 생기는 실무 장애 패턴, 튜닝 기준, 트레이드오프와 체크리스트를 정리합니다.
원시 타입과 래퍼 클래스의 메모리 차이, 오토박싱의 함정, 그리고 String Pool의 동작 원리까지
웹의 속도를 제한하던 TCP의 구조적 한계(Head-of-Line Blocking)와 이를 UDP 기반의 QUIC으로 해결한 HTTP/3의 혁신을 다룹니다.
JPA N+1 해결, Fetch 전략, 배치 처리 등 성능 최적화 실전 기법