Infor M3 & CloudSuiteFree calculatorPDF, Excel, Word exportInfor M3

M3 MI API Batch Load Time Estimator

Every cutover plan has a line that says the data load takes some hours, and that line is often a guess. This estimator turns record counts and measured response times into a planning figure and shows where adding threads stops helping.

Your numbers

records
calls

For example one create call plus one update or add-line call.

ms

Measure this in your own test environment, not from a guess.

8
calls/sec

The ceiling you observed or agreed for the environment.

%

Your results

Estimated run time
195 min
Estimated run time in hours
3 hrs
Total calls including retries
520,000
Throughput from threads
44.4444
Calls per second if nothing else limits you.
Effective throughput
44.4444

A planning estimate only. Real throughput depends on your environment, server sizing, data content and whatever else is running. Always time a representative sample first.

Save results:

Estimated load time vs parallel threads

Sweeps Parallel threads from 1 to 40, holding your other inputs fixed.

Rehearse and reconcile migrations

Optional: read-only reconciliation of loaded data against source extracts.

Optional. The tool and every export work without this. No spam.

How to use it

Load a representative sample of a few hundred records through your integration in the target environment and measure the average response time per call. Enter that figure with the total record count and how many API calls each record needs. Set the number of parallel threads you plan to run and the throughput ceiling you actually observed. The retry overhead accounts for validation failures and repeated calls. The output is a run time you can place in the cutover plan with an honest margin.

  • Measure response time with realistic data
  • Count every call per record, including lookups
  • Use the observed ceiling, not a theoretical one
  • Repeat the test at planned thread counts

The math

Raw throughput is threads multiplied by 1000 divided by the average response time in milliseconds. Effective throughput is the lower of that figure and the cap. Total calls equals records times calls per record, inflated by the retry percentage. Run time in seconds is total calls divided by effective throughput. The chart reveals the plateau: once raw throughput reaches the cap, more threads only add load, not speed.

Using the estimate

Take the estimate as the central figure and add contingency for the load window. If it nearly fills the cutover window, plan to split the load by object, run objects in dependency order, or pre-load static data days earlier. Also check whether response time degrades as threads rise. If it does, the plateau arrives earlier than the math suggests and the true optimum is a lower thread count.

  • Pre-load masters before the freeze when possible
  • Load in dependency order
  • Test a full-volume dress rehearsal
  • Keep a rollback plan for partial loads

Common mistakes

The usual error is using response time measured on an idle test system for a production cutover with other jobs running. Another is forgetting that sequence matters, so parallel threads that write to the same parent record can collide. Finally, many plans omit the time to validate after loading, which often exceeds the load itself. Budget reconciliation time separately.

Frequently Asked Questions

Where do I get the throughput cap?

Measure it. Increase threads in a test until calls per second stops rising or response time climbs sharply. That level is your practical cap. Do not rely on a published number without confirming it in your environment.

Does this tell me which API to use?

No. It only estimates duration for whatever API calls you plan to make. Choose programs and transactions according to your M3 version and the documentation for your landscape.

How much retry overhead is reasonable?

A clean, pre-validated load may see 1 to 3%. Early dress rehearsals on unvalidated legacy data can see far more, so use your rehearsal error rate and fix the data rather than relying on retries.

Can I run this for deltas after go-live?

Yes. Enter the delta record count and the same measured response time. Smaller loads rarely hit the cap, so thread count and response time dominate the result.

If you need migration loads rehearsed and reconciled against source data with read-only checks, Netray can support that with your M3 team.