@upstash/ratelimit 라이브러리에 새로운 기능인 레이트 리밋 분석(Rate Limit Analytics)이 추가된 것을 발표하게 되어 기쁩니다. 라이브러리의 인기가 높아지면서 개선 방향에 대한 소중한 피드백을 많이 받아왔는데, 그중 가장 많이 요청되었던 기능은 애플리케이션의 전반적인 성능과 다양한 사용자에게 요청 제한이 어떻게 적용되는지 한눈에 파악할 수 있는 방법이었습니다. 레이트 리밋 대시보드(Rate Limit Dashboard)를 활용하면 바로 그 작업이 가능해집니다. 이제 요청 제한을 손쉽게 시각화하고 분석하여 애플리케이션 성능에 대한 더 깊은 통찰을 얻을 수 있습니다. 분석 기능을 활성화한 후(아래 참고) console.upstash.com/ratelimit 에 접속하면 레이트 리밋 대시보드를 사용할 수 있습니다.

@upstash/ratelimit을 처음 접하는 분들을 위해 간단히 소개하자면, 이 라이브러리는 Upstash for Redis® 위에 구축된 TypeScript 라이브러리입니다. 애플리케이션에 손쉽게 요청 제한(rate limiting) 기능을 추가할 수 있으며, HTTP 기반으로 동작하기 때문에 서버리스(serverless)나 엣지(edge) 같은 상태 비저장(stateless) 런타임 환경에 특히 적합합니다. 자세한 동작 방식은 공식 발표 글이나 GitHub 저장소에서 확인하실 수 있습니다.
분석 기능 활성화하기
@upstash/ratelimit의 분석 기능은 완전히 선택 사항이며, 애플리케이션의 핵심 처리 경로(critical path)에 어떠한 지연도 추가하지 않습니다. 아래와 같이 Ratelimit 생성자에서 옵션을 설정하여 분석 기능을 켤 수 있습니다:
import { Ratelimit } from "@upstash/ratelimit";
import { Redis } from "@upstash/redis";
const ratelimit = new Ratelimit({
redis: Redis.fromEnv(),
limiter: Ratelimit.fixedWindow(10, "10s"),
analytics: true, // <- 이 줄을 추가하세요
});
콘솔 사용법
분석 기능을 활성화한 후에는 console.upstash.com/ratelimit 에 접속하여 레이트 리밋 대시보드를 열 수 있습니다. 해당 페이지에서 요청 제한에 사용 중인 데이터베이스를 선택하면 바로 모니터링을 시작할 수 있습니다.

가장 좋은 점은 @upstash/ratelimit SDK와 대시보드를 완전히 무료로 사용할 수 있다는 것입니다! 요금은 제한 정보와 분석 데이터를 저장하는 기본 데이터베이스에만 발생합니다. Redis 무료 티어를 통해 하루 최대 10,000건의 요청을 무료로 처리할 수 있으며, 더 많은 용량이 필요하다면 100,000건당 단 $0.20만 추가로 지불하면 됩니다.
궁금한 점이나 피드백이 있다면 언제든지 Twitter 또는 Discord를 통해 문의해 주시기 바랍니다.
관련 링크
- GitHub
- Console
- Examples