3분 읽기DB
DB 커넥션풀의 증가와 성능의 관계
풀이 크면 동시에 많이 처리하니 빠를 줄 알았다. 10코어 DB에 풀 크기를 1부터 48까지 바꿔가며 처리량을 재보니 아니었다.
#PostgreSQL#HikariCP#커넥션풀#성능
풀이 크면 동시에 많이 처리하니 빠를 줄 알았다. 10코어 DB에 풀 크기를 1부터 48까지 바꿔가며 처리량을 재보니 아니었다.
JIT 컴파일과 워밍업을 공부하며 정리한 내용. 인터프리터에서 C1·C2 컴파일로 넘어가는 과정을 간단한 예제로 확인한다.
격리 수준을 4개 이름으로 외우는 대신 무슨 이상 현상을 막느냐로 이해한다. 표준 표가 실제 MySQL·PostgreSQL과 어떻게 다른지, 그리고 격리 수준이 못 막는 Lost Update를 앱에서 어떻게 잡는지.
왜 풀이 필요한가부터 ThreadPoolExecutor 내부, BlockingQueue, HikariCP, 가상 쓰레드의 Continuation·Poller·ForkJoinPool, OS↔JVM 경계까지 동시성 처리의 전체 그림을 정리했다.
멀티스레드 배치의 레이스 컨디션으로 생긴 중복 데이터를 Redis 분산 락으로 잡은 기록.
3초 걸리던 조회를 EXPLAIN으로 짚어 복합 인덱스로 잡은 기록.
9초 걸리던 검사 리포트 생성을 화면 캡처를 걷어내고 SQS 워커 구조로 바꿔 1.5초로 만든 기록.
QA 없는 2인 팀에서 Maestro·Playwright 기반 E2E 자동화 시스템을 직접 만든 기록.
첫 직장에서 만난 100억 건짜리 히스토리 테이블. 인덱스도 캐시도 안 먹히던 20초 조회를 테이블을 물리적으로 쪼개서 잡은 이야기.