Oracle Integration Cloud aka OIC: How much load can an OIC Instance take?
Customers often ask about the maximum number of transactions or load that your application or service can handle per second.
A recent inquiry from a customer was regarding the TPS (Transactions Per Second) for OIC. Providing a direct answer to this question is not possible due to several factors that need to be considered before responding.
I will do my best to address all aspects that ought to be considered in order to make decision on this article’s title.
Factors to take into account prior to establishing TPS for OIC:
What is the IAM SKU being used?
Authentication for OIC Integration is conducted through either “OAuth or Basic Auth,” both of which are managed by IAM. It is important to review the limits for Authentication and Token Management based on your IAM SKU. Please check the limits here. It is recommended to opt for OAuth as your authentication method since the Time-To-Live (TTL) for the token can be customized by the customer. Each new token generated will be treated as a fresh request to IAM Token Management, disregarding any tokens obtained from previous API calls.
How is your Solution Architecture Designed?
If your application requires real-time processing, it should directly utilize OIC. However, if real-time processing is not necessary, we can route the messages/requests to a queue/topic. OIC will then retrieve all the messages/requests from the queue/topic at once for further processing.
How did you design the Integrations in OIC?
Are the integrations synchronous or asynchronous? This is because there are restrictions on the overall number of concurrent requests or executions. You can find the limits for concurrent requests, whether they are asynchronous or synchronous, by referring to this resource here.
Are your integrations following the best practices?
We have to make sure that the integrations built do follow the best design patterns and avoid the common pitfalls. Few of the issues you will face, if these are not checked your integration will take longer time for processing (in such cases it will hold on to the thread without releasing, causing new requests to run out of threads to start processing), it will consume more number of messages on your message pack. Go through this link to make sure your integrations are built with best practices.
What is the payload size of requests being received per second?
The payload size is an essential factor in every request as it undergoes conversion into a message, and the metric employed in OIC is messages per hour. This computation is typically carried out to determine the required number of packages for a customer. The procedure for calculating requests per second is outlined in this document here.
What is the total number of OIC UC Message Packs owned by the customer?
It is crucial for us to determine the number of Message packs the customer has in order to assess its sufficiency.
Is the customer utilizing OIC Generation 2 or Generation 3?
The reason for this is that the limits will vary depending on the OIC edition you have. In addition also work with your Oracle Counterpart on your OIC instance concurrency.
NOTE: Please be aware that all the links provided are specifically for OIC Gen3. If you are using an OIC Gen2 instance, you may need to check for Gen2 links.
In conclusion, customers must conduct load testing to determine whether their OIC instance and OCI are properly configured to manage the desired level of load.
!!Happy Reading!!