๐ŸฆŠFoxulator
โฑ๏ธ

API Rate Limit ๊ณ„์‚ฐ๊ธฐ

API ํ˜ธ์ถœ ์ œํ•œ์„ ๊ณ„์‚ฐํ•˜๊ณ  ์—ฌ๋Ÿฌ ์—”๋“œํฌ์ธํŠธ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ์ธ๊ธฐ API ํ”„๋ฆฌ์…‹์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•˜์„ธ์š”.

Rate Limit ์„ค์ •

Rate Limit ๋ถ„์„ ๊ฒฐ๊ณผ

RPS
1.39
์ดˆ๋‹น ์š”์ฒญ
RPM
83.33
๋ถ„๋‹น ์š”์ฒญ
RPH
5.00K
์‹œ๊ฐ„๋‹น ์š”์ฒญ
RPD
120.00K
์ผ๋‹น ์š”์ฒญ
์›”๊ฐ„ ์ตœ๋Œ€ ์š”์ฒญ ์ˆ˜
3.60M ํšŒ
์•ˆ์ „ํ•œ ํ˜ธ์ถœ ์ˆ˜ (80%)
4.00K/์‹œ๊ฐ„

์—”๋“œํฌ์ธํŠธ๋ณ„ ์‚ฌ์šฉ๋Ÿ‰ ๊ณ„์‚ฐ

์—ฌ๋Ÿฌ API ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ด ์‚ฌ์šฉ๋Ÿ‰์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

= 100/h
โœ…

Rate Limit ๋‚ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ

์ด ์‚ฌ์šฉ๋Ÿ‰: 100/์‹œ๊ฐ„(2%)

API Call 1100/h (100%)
์ผ๊ฐ„ ์ด ์š”์ฒญ ์ˆ˜2.40K ํšŒ

์ธ๊ธฐ API Rate Limit ์ฐธ๊ณ ํ‘œ

API์ œํ•œRPSRPH
GitHub API5000/1h1.395.00K
Twitter/X API300/15m0.331.20K
OpenAI API60/1m13.60K
Google Maps50/1s50180.00K
Stripe API100/1s100360.00K
Slack API1/1s13.60K
Discord API50/1s50180.00K
Spotify API180/30s621.60K
YouTube Data API10000/1d0.12416.67
SendGrid API100/1s100360.00K

๐Ÿ“– ์‚ฌ์šฉ๋ฒ•

  1. API ํ”„๋ฆฌ์…‹์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์ง์ ‘ ์ž…๋ ฅํ•˜์„ธ์š”
  2. ํ˜„์žฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ž…๋ ฅํ•˜๋ฉด ์—ฌ์œ ๋ถ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  3. ์—ฌ๋Ÿฌ ์—”๋“œํฌ์ธํŠธ ์‚ฌ์šฉ ์‹œ ๊ฐ๊ฐ ์ถ”๊ฐ€ํ•˜์—ฌ ์ด ์‚ฌ์šฉ๋Ÿ‰์„ ๊ณ„์‚ฐํ•˜์„ธ์š”
  4. 80% ์ดํ•˜๋กœ ์œ ์ง€ํ•˜๋ฉด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • โœ“์ธ๊ธฐ API Rate Limit ํ”„๋ฆฌ์…‹ ์ œ๊ณต
  • โœ“์ดˆ๋‹น/๋ถ„๋‹น/์‹œ๊ฐ„๋‹น/์ผ๋‹น/์›”๋‹น ์š”์ฒญ ์ˆ˜ ๊ณ„์‚ฐ
  • โœ“ํ˜„์žฌ ์‚ฌ์šฉ๋Ÿ‰ ๋Œ€๋น„ ์—ฌ์œ ๋ถ„ ๋ถ„์„
  • โœ“์—ฌ๋Ÿฌ ์—”๋“œํฌ์ธํŠธ ์ด ์‚ฌ์šฉ๋Ÿ‰ ๊ณ„์‚ฐ
  • โœ“Rate Limit ์ดˆ๊ณผ ์—ฌ๋ถ€ ์‹œ๊ฐํ™”

๐Ÿ“ ๊ณ„์‚ฐ ๊ณต์‹

RPS = ์š”์ฒญ ์ˆ˜ รท ์‹œ๊ฐ„(์ดˆ), RPH = RPS ร— 3600

๐Ÿ’ก ๊ณ„์‚ฐ ์›๋ฆฌ

  • โ€ขRate Limit์€ API ์„œ๋ฒ„ ๋ณดํ˜ธ์™€ ๊ณต์ •ํ•œ ์‚ฌ์šฉ์„ ์œ„ํ•œ ํ˜ธ์ถœ ์ œํ•œ์ž…๋‹ˆ๋‹ค.
  • โ€ขRPS(Requests Per Second)๋Š” ์ดˆ๋‹น ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•œ ์š”์ฒญ ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • โ€ข๋Œ€๋ถ€๋ถ„์˜ API๋Š” ์‹œ๊ฐ„๋‹น(RPH) ๋˜๋Š” ๋ถ„๋‹น(RPM) ์ œํ•œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • โ€ข์ œํ•œ์— ๊ฐ€๊นŒ์›Œ์ง€๋ฉด 429 Too Many Requests ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • โ€ข์•ˆ์ „ํ•œ ์šด์˜์„ ์œ„ํ•ด Rate Limit์˜ 80% ์ดํ•˜๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • โ€ข์—ฌ๋Ÿฌ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ•ฉ์‚ฐํ•˜์—ฌ ์ œํ•œ์„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โ“ ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Q. Rate Limit์ด ์™œ ํ•„์š”ํ•œ๊ฐ€์š”?

A. ์„œ๋ฒ„ ๊ณผ๋ถ€ํ•˜ ๋ฐฉ์ง€, ๊ณต์ •ํ•œ ๋ฆฌ์†Œ์Šค ๋ถ„๋ฐฐ, DDoS ๊ณต๊ฒฉ ๋ฐฉ์–ด, ๋น„์šฉ ๊ด€๋ฆฌ ๋“ฑ์„ ์œ„ํ•ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Q. Rate Limit์„ ์ดˆ๊ณผํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

A. HTTP 429 ์—๋Ÿฌ๊ฐ€ ๋ฐ˜ํ™˜๋˜๊ณ , ์ผ์ • ์‹œ๊ฐ„(๋ณดํ†ต Retry-After ํ—ค๋”์— ๋ช…์‹œ) ํ›„์— ๋‹ค์‹œ ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Q. Rate Limit์„ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋‚˜์š”?

A. ์œ ๋ฃŒ ํ”Œ๋žœ ์—…๊ทธ๋ ˆ์ด๋“œ, API ์ œ๊ณต์ž์—๊ฒŒ ์š”์ฒญ, ๋˜๋Š” ์—ฌ๋Ÿฌ API ํ‚ค ์‚ฌ์šฉ ๋“ฑ์˜ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Q. ํด๋ผ์ด์–ธํŠธ์—์„œ Rate Limit์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋‚˜์š”?

A. Exponential Backoff, ์š”์ฒญ ํ์ž‰, ํ† ํฐ ๋ฒ„ํ‚ท ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์„ ๊ตฌํ˜„ํ•˜์—ฌ ์ œํ•œ์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

Q. API ๋ ˆ์ดํŠธ ๋ฆฌ๋ฐ‹์ด๋ž€?

A. ์ผ์ • ์‹œ๊ฐ„ ๋‚ด ํ—ˆ์šฉ๋˜๋Š” ์ตœ๋Œ€ API ํ˜ธ์ถœ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์˜ˆ: "๋ถ„๋‹น 60ํšŒ"๋Š” 1๋ถ„์— 60๋ฒˆ๊นŒ์ง€ ์š”์ฒญ ๊ฐ€๋Šฅ. ์ดˆ๊ณผ ์‹œ 429(Too Many Requests) ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Q. ๋ ˆ์ดํŠธ ๋ฆฌ๋ฐ‹์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด?

A. ์š”์ฒญ์„ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ง€์ˆ˜ ๋ฐฑ์˜คํ”„(exponential backoff) ์žฌ์‹œ๋„ ์ „๋žต์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์บ์‹ฑ์œผ๋กœ ๋ถˆํ•„์š”ํ•œ API ํ˜ธ์ถœ์„ ์ค„์ด๋Š” ๊ฒƒ๋„ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค.

API Rate Limit ๊ณ„์‚ฐ๊ธฐ | Foxulator