API Performance Expectations
The following metrics are examples of how the API is expected to perform using a Gig-Speed internet connection. The examples are indicative. Actual performance may vary.
- POST a single well - all data sets - 1,000 daily production records (Batched POST: 1,000 records)
~5 seconds/ per well
- POST a single well - 1 Million daily production records (Batched POST : 1,000 records per batch)
~3 Minutes
- POST a single well - all data sets - 1000 daily production records
~3 seconds/ per well
~1100 wells per hour running sequentially
- Multi-Threaded POST - 3,000 Wells - all data sets - 1,500 daily production records per well (Batched POST: 750 records per batch) -->3 ,000 wells split over 18 concurrent threads
~15 minutes
To batch UPSERT daily production records the following constraints must be observed:
- All production records in the batch must belong to the same well (UWI)
- Records can be batched into groups of up to 1,000 records per batch (to keep payloads under 10Mb)
Multi Threaded/Concurrent API requests from a single API client are supported with the following constraints:
- Do not exceed 10,000 API requests per second
- Limited to 20 concurrent threads per client
Exceeding these limits may result in an API rate limit or DDoS error being returned from the API Gateway
The API rate limit for uploads 10,000 requests per second. Exceeding the request limit will result in a 429 Error from the API gateway.
The API Gateway has a maximum payload size of 10MB. Exceeding 10MB in a single POST request will return a 413 Error from the API gateway
The backend data system can handle up to 600,000 data UPSERTS per minute. If you experience delays or performance lag it may be because you are posting more than 600,000 records to our systems each minute.