New Relic's query language, NRQL, has rate limits in place to ensure a high level of availability and reliability for all users. To understand the places NRQL can be used, see Where is NRQL used?.
You will rarely encounter rate limiting, especially if you follow these general guidelines:
- Limit the amount of requests with complex queries (for example, queries with
TIMESERIESclauses, or queries of over a million events) that run at the same time.
- Limit the amount of requests run concurrently over extended periods of time to a maximum of 5, especially if they include complex queries.
When you run a NRQL query, it will display the number of events inspected, as shown below:
In this context, "events" is used in a general sense to refer to all NRQL-available objects; this includes events, metrics, logs, and distributed tracing (span) data.
Each New Relic account has limits on the total number of events that can be inspected. There are limits that apply over two different time frames:
- A rolling 30-minute time window
- A 24-hour period
These limits are as follows:
Rolling 30 minutes
300 billion events inspected (equivalent to a sustained rate of 10 billion events inspected per minute)
7.2 trillion events inspected
Once the limit has been reached for a given time period, limiting will be imposed and some queries may be impacted. After the time period has passed, if query volume drops below the limit, restrictions will be removed automatically.
The limit on NRQL queries is 50 queries per second, or 3000 queries per minute. Past this, New Relic cannot guarantee query performance, and you may be rate limited.
The limit for total number of reported data types is 250 per account over a given 24-hour time period. If a user exceeds this limit, New Relic may filter or drop data.
The refresh rate of UI charts is the range of the query's timeframe divided by 60. The maximum frequency with which queries can be refreshed is every 5 seconds.
- A query with a 7-day time range would have a refresh rate of once every 2.8 hours.
- A query with a 1-hour time range would have a refresh rate of once every 1 minute.
For queries using
TIMESERIES, the size of the
TIMESERIES bucket is used as the refresh interval. For example:
SELECT count(*) FROM PageView TIMESERIES 5 minuteswould refresh every 5 minutes.
SELECT count(*) FROM PageView TIMESERIES 1 hour SINCE 1 day agowould refresh every hour.
If you need more help, check out these support and learning resources:
- Browse the Explorers Hub to get help from the community and join in discussions.
- Find answers on our sites and learn how to use our support portal.
- Run New Relic Diagnostics, our troubleshooting tool for Linux, Windows, and macOS.
- Review New Relic's data security and licenses documentation.