PostgreSQL 업그레이드 이야기
두줄요약
EBS IOPS 소진으로 발생한 PostgreSQL 서비스 지연의 원인과 대안을 분석했습니다. gp2 증설과 복제 기반 마이그레이션 뒤 ANALYZE로 쿼리 성능을 복구했습니다.
문제 상황
- PostgreSQL 커넥션 포화로 피크 타임 서비스 지연·중단 발생
- 급증한 트랜잭션이 gp2 EBS의 할당 IOPS를 소진한 상황
해결 방법
- gp2 EBS 용량을 3334GB 이상으로 증설해 최대 IOPS 확보
- PostgreSQL 복제와
pg_basebackup기반의 스탠드바이 서버 마이그레이션 수행 - 복제 후 테이블별
ANALYZE실행으로 저하된 SELECT 성능 복구
선택 이유
- io1은 필요한 IOPS 대비 비용이 높고 처리량 부족 상황도 아니어서 제외
- RAID 10은 데이터 무결성을 고려하면 io1보다 비용이 높아지는 구조
- AWS DMS는 PostgreSQL JSON·ARRAY 타입 미지원으로 적용 불가
성능/운영 포인트
- EBS IOPS·대역폭과 I/O Credit을 CloudWatch로 지속 모니터링
- 스냅샷 기반 EBS의 초기 블록 지연과 fio·dd 기반 사전 초기화 시간 고려
- PostgreSQL 복제 완료 뒤 쿼리 계획 통계 갱신을 위한 ANALYZE 수행



