황호민
  • Blog
  • Resume

기술 · 9편

2026.07.293분 읽기DB

DB 커넥션풀의 증가와 성능의 관계

풀이 크면 동시에 많이 처리하니 빠를 줄 알았다. 10코어 DB에 풀 크기를 1부터 48까지 바꿔가며 처리량을 재보니 아니었다.

#PostgreSQL#HikariCP#커넥션풀#성능
2026.07.293분 읽기Java

JIT 워밍업: 배포 직후 첫 요청이 느린 이유

JIT 컴파일과 워밍업을 공부하며 정리한 내용. 인터프리터에서 C1·C2 컴파일로 넘어가는 과정을 간단한 예제로 확인한다.

#Java#JVM#JIT#워밍업
2026.07.108분 읽기DB

격리 수준을 올려도 안 막히는 것

격리 수준을 4개 이름으로 외우는 대신 무슨 이상 현상을 막느냐로 이해한다. 표준 표가 실제 MySQL·PostgreSQL과 어떻게 다른지, 그리고 격리 수준이 못 막는 Lost Update를 앱에서 어떻게 잡는지.

#트랜잭션#격리수준#MVCC#MySQL
2026.05.1342분 읽기Java

쓰레드 풀과 커넥션 풀 정리

왜 풀이 필요한가부터 ThreadPoolExecutor 내부, BlockingQueue, HikariCP, 가상 쓰레드의 Continuation·Poller·ForkJoinPool, OS↔JVM 경계까지 동시성 처리의 전체 그림을 정리했다.

#ThreadPool#ConnectionPool#VirtualThread#Java
2026.03.143분 읽기DB

배치 작업에서 Redis Lock으로 멱등성 잡은 과정

멀티스레드 배치의 레이스 컨디션으로 생긴 중복 데이터를 Redis 분산 락으로 잡은 기록.

#Redis#동시성#멱등성#분산Lock
2026.02.253분 읽기DB

인덱스가 있는데도 쿼리가 느릴 때

3초 걸리던 조회를 EXPLAIN으로 짚어 복합 인덱스로 잡은 기록.

#MySQL#EXPLAIN#Index#쿼리최적화
2026.02.094분 읽기기타

9초 걸리던 PDF, 화면 캡처를 걷어냈다

9초 걸리던 검사 리포트 생성을 화면 캡처를 걷어내고 SQS 워커 구조로 바꿔 1.5초로 만든 기록.

#Architecture#MessageQueue#PDF#비동기
2026.01.176분 읽기기타

QA 없는 팀에서 QA 자동화 시스템을 만든 이야기

QA 없는 2인 팀에서 Maestro·Playwright 기반 E2E 자동화 시스템을 직접 만든 기록.

#QA#Maestro#Playwright#테스트자동화
2025.05.223분 읽기DB

상관없는 기능까지 같이 느려질 때

첫 직장에서 만난 100억 건짜리 히스토리 테이블. 인덱스도 캐시도 안 먹히던 20초 조회를 테이블을 물리적으로 쪼개서 잡은 이야기.

#파티셔닝#DB성능#버퍼풀#APM

© 2026 황호민

GitHubEmail