환경에서 PostgreSQL 데이터베이스에 접근할 때 가장 큰 병목 중 하나는 TCP 연결 시간이다. Workers는 요청마다 콜드스타트를 동반하며, 매번 TCP 핸드셰이크를 수행해야 한다. 이로 인해 단순 SELECT 쿼리조차 평균 500ms 이상의 지연이 발생하는 경우가 많다.
이를 해결하기 위해 Cloudflare Hyperdrive를 적용했고, 그 결과 단순 조회는 평균 10ms 내외, INSERT는 약 200ms 수준까지 응답 속도를 줄이는 데 성공했다. 이 글은 Hyperdrive의 개념부터 적용 방법, 그리고 성능 개선 결과까지 정리한 실전 도입 사례다.
HyperDrive
: Cloudflare에서 제공하는 SQL 연결 최적화 레이어다.
npx wrangler hyperdrive create hyperdrive-config \
--connection-string="postgres://USER:PASSWORD@HOST:5432/DB"
이 명령을 실행하면 Hyperdrive 설정 ID가 출력된다.
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2024-08-21"
compatibility_flags = ["nodejs_compat"]
[hyperdrive]
binding = "HYPERDRIVE"
id = "<생성된 Hyperdrive ID>"
npx wrangler types
import postgres from 'postgres'
export default {
async fetch(request, env, ctx) {
const sql = postgres(env.HYPERDRIVE.connectionString)
const data = await sql`SELECT * FROM users LIMIT 1`;
return new Response(JSON.stringify(data));
}
}
npx wrangler deploy