• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

API 과부하 보호: 429 오류 처리

다른 고객이 시간이 많이 걸리는 쿼리를 실행하는 경우에도 REST API 호출에 신속하게 응답하기 위해 뉴렐릭은 API에 과부하 보호 기능을 포함합니다.

많은 양의 데이터를 쿼리하여 상당한 리소스를 소비하는 경우 API의 응답 코드 및 헤더는 API 키에 사용할 수 있는 용량을 초과했음을 나타냅니다. 이는 대부분의 고객이 결코 볼 수 없는 드문 상황입니다. API 사용이 매우 리소스 집약적인 고객만 볼 수 있습니다.

고객은 분당 1000개의 API 호출을 할 수 있습니다.

API 응답

정상 작동 시 API는 응답에 과부하 보호 상태를 추가하지 않습니다. 어떤 조치도 취할 필요가 없습니다.

보고 기간 동안 뉴렐릭은 각 API 요청이 시스템에 미치는 영향을 추적합니다.

과부하 보호 또는 속도 제한을 트리거할 수 있는 일반적인 경우는 다음과 같습니다.

  • 사용 중인 API 키가 분당 최대 요청 수를 초과했습니다.
  • 시스템이 일반적으로 과부하 상태이며 일부 계정의 보고를 줄여야 합니다.

속도 제한이 발생하는 경우 다음과 같은 일이 발생합니다.

  • 추가 API 호출은 HTTP 상태 코드 429(너무 많은 요청)를 표시하며 실패합니다.
  • HTTP 응답의 헤더와 본문에는 오류에 대한 추가 정보가 포함될 수도 있고 포함되지 않을 수도 있습니다.
  • 보고 기간이 끝나면 API 호출이 다시 허용됩니다.

헤더

API 키의 개별 제한을 초과한 경우 API 응답에 표시되는 HTTP 헤더는 다음과 같습니다.

과부하 헤더

의미

X-RateLimit-Limit

분당 최대 요청 수입니다.

X-RateLimit-Remaining

이 기간 동안 남은 요청 수입니다.

X-RateLimit-Reset

현재 보고 기간이 끝나는 UNIX 타임스탬프(1970년 1월 1일 이후 초 수)입니다. API 요청은 이 시간 이후에 응답됩니다.

X-RateLimit-Docs

이 문서에 대한 하이퍼링크를 통해 추가 정보를 즉시 얻을 수 있습니다.

일반적인 시스템 문제가 있는 경우 API 응답에 표시되는 HTTP 헤더는 다음과 같습니다.

과부하 헤더

의미

Retry-After

다시 시도해야 할 때까지의 시간(초)입니다.

다음은 호출자가 사용 가능한 모든 리소스를 사용했으며 추가 API 호출이 2016년 2월 1일 정오에 다시 허용됨을 나타내는 API 요청의 한 예입니다.

curl -X GET 'https://api.newrelic.com/v2/applications.json' \
     -H "Api-Key:$API_KEY" -i
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
...
X-RateLimit-Docs: https://docs.newrelic.com/docs/apis/rest-api-v2/requirements/api-overload-protection-preventing-429-errors
X-RateLimit-Reset: 1454313600
X-RateLimit-Remaining: 0
X-RateLimit-Limit: 1000

{}

속도 제한 오류 방지

429 오류에 대한 가장 간단한 해결책은 보고 기간이 끝날 때까지 기다렸다가 다음 API 요청을 보내는 것입니다. 그러나 쿼리를 세심하게 관리하면 처음부터 과부하 보호 오류를 방지할 수 있습니다.

리소스를 집중적으로 사용하는 쿼리를 많이 보낼 것임을 알고 있는 경우 다음 예방 조치 중 하나를 수행할 수 있습니다.

  • 쿼리 빈도를 줄입니다. 특히 쿼리 빈도를 분당 1회 미만으로 합니다.(에이전트 데이터의 새로 고침 빈도)
  • 매번 API에서 요청하지 않고 뉴렐릭에 데이터를 캐시합니다.
  • 여러 페이지에서 메트릭 이름과 출력 결과를 요청해야 하는 경우 커서 기반 기술을 사용합니다.
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.