All posts · OIC Integrations

OIC Performance Tuning: Making Integrations Faster

Slow OIC integrations are usually caused by a handful of predictable patterns. Here's how to diagnose and fix them systematically.

Anurag Jangra · March 8, 2026 · 7 min read · ... views

How to find the bottleneck first

Before changing anything, use OIC monitoring to find where time is being spent. Open a failed or slow integration instance and expand the activity stream. Each activity shows its start time — the gaps between activities reveal where the integration is waiting.

Common findings:

  • 80% of time in a single REST invoke → the downstream API is slow
  • Time accumulating in a loop → too many iterations or large payloads per iteration
  • Time in the mapper → oversized payload transformation

Reduce payload size

The most impactful change is almost always reducing how much data OIC processes per call. If you’re fetching 1,000 records when you only need 50, fixing the query is faster than any other optimisation.

For Fusion REST APIs, always:

  • Use fields parameter to specify only required fields: ?fields=PersonNumber,Name,Email
  • Use q for server-side filtering instead of fetching all and filtering in OIC
  • Set a reasonable limit and implement proper pagination

Avoid N+1 REST calls in loops

A loop that makes one REST call per record is the single most common OIC performance problem. If you’re calling /orders/{id} inside a loop of order IDs, replace it with:

  • A bulk endpoint if available: POST /bulkorders with an array of IDs
  • A database query that returns all records in one call
  • A parallel scope with branches (for small, fixed-size sets)

Choose the right message tracking level

OIC’s activity stream and payload tracking consume resources. For high-throughput integrations, set tracking level to Business Identifiers only, not All Payload. This alone can improve throughput by 20-30% for message-intensive integrations.

Increase batch size for scheduled integrations

If processing 10,000 records one at a time, switch to processing 200 at a time using chunking. Each chunk runs as one OIC instance, reducing overhead significantly.

Connection pooling

OIC manages adapter connection pools internally. For DB Adapter connections with high concurrency, verify the connection pool size in the adapter configuration matches your expected parallel instance count.

Caching reference data

If the same lookup table or reference data is fetched on every integration run (e.g. currency mappings, BU names), consider moving it to OIC Lookup Tables rather than a live REST call. Lookups are in-memory — effectively zero latency.

Think Beyond the Implementation

Questions worth sitting with after reading this

01

Why is this architecture appropriate for this specific context — and where would it be the wrong choice?

02

What assumptions did we make that aren't stated explicitly? What happens if those assumptions are wrong?

03

What would break first if the requirements changed — volume doubled, a third system was added, or the deadline halved?

04

What alternatives did we reject, and why? Was the decision made on evidence — or habit?

AJ
Anurag Jangra
Oracle Cloud PaaS Consultant · OIC & VBCS Specialist

4.5+ years delivering enterprise Oracle Cloud integrations and VBCS applications across manufacturing, IT services, and financial sectors. OCI Certified — writes about real-world OIC, VBCS, SQL, and BI Publisher patterns from production experience.

Chat on WhatsApp