The Maximum Rate Exceeded error occurs in Oracle Cloud and its child monitors when too many APIs are accessed at the same time. This error happens usually in an environment where there are large number of Oracle Cloud child monitors like Instances and Storage.
Reason: In Oracle Cloud, the API rate is very low by default. The default API rate limit is 10 Transactions per Second. When polling happens for more than 10 OCI monitors at the same time, this limit is exceeded and hence you might encounter the Maximum rate exceeded error.
Resolution: Follow the steps given below to avoid this error.
- Increase Rate Limit:
- To increase the rate limit ie. TPS (Transactions per Second), raise a request in the OCI portal.
- In the Support section, you will find an option to raise a request to increase the rate limit.
- It is recommended that you raise a request to increase the rate of the reported API to 100 TPS
- Sample format to share with Oracle Cloud support:
- Tenancy: <Tenancy Name> & <Tenancy OCID>
- Region: <Region of the service>
- Compartment OCID(s): <OCIDs of compartment>
- Limit minimum required: 100 TPS (Can request more TPS based on the monitoring scope)
- If the error message is 'Unable to collect some of the performance metrics' (This is the API that is used the most as it fetches all the performance metrics in all the OCI monitor types.)
- API Service name: Monitoring (Telemetry)
- Endpoint: https://telemetry.<REGION>.oraclecloud.com
- Eg: https://telemetry.ap-sydney-1.oraclecloud.com
- Operation: SummarizeMetricsData — POST /20180401/metrics/actions/summarizeMetricsData
- For other error message:
- API Service name: <Service Name> (Eg: Oracle Cloud Instance, Oracle AI Autonomous Database, etc)
- Endpoint & Operation: Ask Oracle Cloud support to check your account API logs.
- Disable fast data collection:
- Go to Admin/Settings -> Performance Polling -> Optimize Data Collection -> Monitor Type -> Oracle Cloud -> Metric Name -> Performance.
- If the 'Enable faster data collection' checkbox is enabled, then disable the same.
- If this option is enabled, then multiple API calls happen parallelly for a single monitor and when multiple monitors are polled at the same time, the rate might exceed and cause error.
- Maintain optimum thread count:
- In Applications Manager if the value of the KeyValueMonitor Thread count is high, then there are more chances of multiple monitors being polled at the same time which leads to high number of requests at the same time.
- To check this, go to Admin/Settings -> Server Settings -> Threads Configuration page -> KeyValueMonitor Thread.
- Reduce the thread count as per the monitors in the probe.
- If your environment has large number of OCI monitors, it is recommended to move the OCI monitors to a separate Managed server and maintain optimum (less) thread count than the current value.