PostgreSQL LISTEN/NOTIFY 성능 병목 현상: 수백만 시간의 회의 데이터 처리에서 얻은 교훈

2025-07-11
PostgreSQL LISTEN/NOTIFY 성능 병목 현상: 수백만 시간의 회의 데이터 처리에서 얻은 교훈

Recall.ai는 매달 수백만 시간 분량의 회의 데이터를 처리합니다. PostgreSQL 데이터베이스는 고병렬 쓰기로 인해 다운타임이 발생했습니다. 조사 결과 LISTEN/NOTIFY 기능이 트랜잭션 커밋 단계에서 글로벌 데이터베이스 락을 획득하여 모든 커밋이 직렬화되고 병목 현상이 발생하는 것으로 나타났습니다. 이 로직을 애플리케이션 계층으로 마이그레이션하여 문제를 해결했습니다.

개발 고병렬