Summary
Invantive is introducing “Fair Use Daily Limits” to guarantee an optimal user experience on Invantive Bridge Online. These limits are centred around four key metrics: volume of data exchanged, number of requests made, total time taken for requests, and the number of rows retrieved from a table. The limits are categorised into fresh data usage and overall data usage, which includes cached data. The rollout is planned for 1 October 2023, but this timeline may be revised based on its impact on high-volume users.
The new adjustments come with several advantages, such as enhanced performance, quicker response times, and increased stability during high-traffic periods. Users have the ability to track their consumption via the Invantive Bridge Online dashboard and are also equipped with supplementary HTTP headers for automated tracking. Should any issues or queries arise, users are encouraged to reach out to Invantive at support@invantive.com. These initiatives aim to foster a more balanced and equitable experience for all users.
Fair Use Daily Limits
We’re thrilled to witness the robust utilization of Invantive Bridge Online for real-time data retrieval and seamless cloud application integrations. Each day, we handle a substantial volume of requests, many of which span multiple enterprises.
To elevate the user experience across the board, we’re implementing automated Fair Use Guidelines. This not only enhances fairness but also mitigates the impact of runaway processes that could otherwise disrupt service for extended periods.
In the context of “fair use”, we’re setting daily caps across multiple metrics:
- Volume of data transferred,
- Count of daily requests,
- Cumulative request duration, and
- Rows returned per table query.
These metrics are categorized into two types: fresh data retrieval and overall usage, which includes cached data.These two x four dimensions are partially correlated, but in addition each captures a specific group of problems.
When a daily limit is exceeded, an HTTP status code 429 is returned (“Too many requests”) with an explanation in OData format. The corresponding error codes are itgenboe402
, itgenboe403
, itgenboe404
, itgenboe405
, itgenboe406
, itgenboe407
, itgenboe408
and itgenboe409
.
We aim to fully implement these guidelines by October 1, 2023. However, we’ll be flexible in our rollout to accommodate any undue impact on our most active users.
Note: At present, we’re not imposing limits on CPU and memory usage, as these are technically challenging to quantify. Future updates may include these parameters.
Advantages for You.
The benefits of Fair Use Day limits for users are:
- Enhanced performance and swifter response times,
- Greater stability during high-traffic periods, and
- Capacity for future upgrades and enhancements.
Measurement Method
Measurement of day limits takes place per calendar day according to UTC time measurement. The difference with your local timezone can be found on the world map.
Monitoring Your Usage
Interactive Monitoring
Daily limits are tracked according to UTC time. You can find timezone differences on a global map.
For real-time insights, visit your Invantive Bridge Online or Invantive App Online dashboard. Here, you’ll find charts depicting your usage across the four key metrics, both for fresh and overall usage, as a percentage of your subscription’s maximum allowance.
The maximum values depend on the subscription type. The values can be found by looking up the subscription in the “Agreements” screen and selecting the blue-colored hyperlink with the subscription type. Then search for “max.”
Daily limits apply to all Bridge Online and App Online servers. For the current server and user the totals are continuously updated in the dashboard. The numbers shown may lag behind actual usage due to simultaneous use of multiple servers and/or multiple users on the same subscription. The actual total usage across all servers and users is synchronized between servers on a regular basis. At synchronization time, the totals may increase significantly.
Details for the current day can be found in the “Session I/Os” screen on Invantive Cloud, while the “Monthly Aggregated Session I/Os” screen in the “Diagnostics” menu shows historical details. To do this, search for “AppOnline” (for https://app-online.cloud) and “BridgeOnline” (for https://bridge-online.cloud). The Session I/Os screen on Invantive Cloud shows all usage up to/with at least 5 minutes earlier.
Automated Monitoring
All OData4 and application requests on Invantive Bridge Online and Invantive App Online are extended by additional “HTTP headers”. The values of these headers allow software and possibly users to know the current exhaustion of the limits and act on them. The HTTP headers follow the draft for RateLimit header fields for HTTP.
The HTTP headers are visible with the request in Invantive Bridge Online Monitoring as the most recent step in the lower part of the details:
The table below lists the HTTP headers used and their meanings:
Name | Meaning |
---|---|
Invantive-RateLimit-SubscriptionType | Subscription Type (see Agreements screen) |
Invantive-RateLimit-ContractCode | Subscription Code |
Invantive-DIMENSION -RateLimitPolicy |
Duration of the time window in seconds and the numeric limit |
Invantive-DIMENSION -RateLimit |
Usage, limit and number of seconds to expiration of time window |
HTTP headers with DIMENSION
are available in eight variants:
FreshBytesPerDay
: download volume in bytes of fresh data (without caches).TotalBytesPerDay
: total download volume in bytes.FreshDurationMsPerDay
: download duration in milliseconds for fresh data (without caches).TotalDurationMsPerDay
: total download duration in milliseconds.FreshRowsPerDay
: number of rows in downloads with fresh data (without caches).TotalRowsPerDay
: total number of rows in downloads.FreshRequestsPerDay
: number of downloads with fresh data (without caches).TotalRequestsPerDay
: total number of downloads.
In addition, other HTTP headers can be provided for analysis purposes, but their availability is not guaranteed.
Example RateLimit HTTP header
An example of a RateLimit
value is:
limit=10000,remaining=10000,reset=55553
The limit per day is 10,000 and there are 10,000 remaining. The next time window with new quota starts in 55,553 seconds.
Example RateLimitPolicy HTTP header
An example of a RateLimitPolicy
value is:
10000;w=86400
The limit is 10,000 and the time window restarts every 86,400 seconds (24 hours).
Why This Change is Necessary
This initiative addresses the imbalance caused by the top 10 of users consuming approximately 50% of server resources. Despite doubling our server capacity twice recently, the revenue to sustain this has not seen a corresponding increase. Unlike competitors who offset subscription costs with consulting fees, Invantive’s model aims for self-sustainability.
For the Affected Users
We understand that for some this will require an adjustment to the logic. Therefore, to simplify this process, here is a list of options that typically quickly achieve major improvement. This list is ordered from simple and quick, to more complex improvements:
- Vote for this Power BI enhancement to also benefit within Power BI from up to 75% reduction in download volume and download requests as described in Faster data processing from Invantive Cloud on selected OData clients.
- Easily limit download volume and duration by enabling compression](Faster OData downloads with smaller size with small adjustment in Power BI).
- Easily limit download volume and duration by repeated attempts for the same data due to too low timeout](Avoid timeout error on Power BI OData download).
- Avoid repeated downloads and improve speed by sharing frequently used data sets (video).
- Replace fresh data downloads for slowly changing dimensions to cached downloads by increasing the allowed maximum age of the data as described at the end of Real-time OLTP-style OData4 requests for Power Apps and other interactive website builders.
- Limit download volume by retrieving only the required columns.
- Limit download volume and duration by retrieving only the needed rows with a filter step or
where
-clause](Optimize OData Filters to Improve Performance). - Overview of Power BI Performance and Download Size Improvement Techniques.
- Use higher limits for cached data by choosing a more appropriate cache lifetime.
- Limit download times by using faster tables such as
*Incremental
. - A comprehensive list of performance optimization articles can be found at Topics met de tag performance.
Should you continue to need significantly higher limits despite optimization or do you need a higher limit quickly and temporarily in the interim? Invantive offers several subscription options that provide more capacity.
Finally, you can request a free performance audit via the procedure described in Hoe laat ik een gratis Power BI performance audit uitvoeren?.
Special Note for Free Exact Online and Bouw7 Users
For those on our Free Exact Online and Bouw7 plans, or other limited subscriptions, the new guidelines enable more accurate daily row limitations. Previously, limits of 100,000 rows were applied per query; now, they are tracked on a daily basis.
Roll-out
Desire is to have implementation completed by October 1, 2023, but pace of implementation will be adjusted if heavy users perceive a non-realistic impact.
The limits were established based on current usage and the subscription form-specific contribution to infrastructure costs. Current usage was analyzed to determine which usage is unrealistically high for what needs to be achieved. These limits were validated against the remaining users to minimize the possibility of nuisances. For more expensive subscription types, the limits have been set higher because their contribution to infrastructure costs is also higher.
Roll-out consists of several steps:
- Upgrade software with measurements enabled but error messages disabled (completed Sept. 22, 2023).
- Activation error messages but using 5x higher limits than subscription form dictates (completed Sep 25, 2023).
- Activation error messages but using 3x higher limits than subscription form prescribes (completed Oct 3, 2023).
- Activation error messages but using 2x higher limits than subscription form prescribes (completed Oct 5, 2023).
- Activation error messages but using 1.5x higher limits than subscription form prescribes (started Oct 5, 2023).
- Activation error messages using subscription form limits (start after successful completion previous step).
Please contact Invantive at support@invantive.com or use chat if you experience failures due to the roll-out of the Fair Use Daily Limits. Specific subscriptions may be temporarily excluded from the Fair Use limits provided there is a prospect of meeting the Fair Use limits in the near future.
Frequently Asked Questions
My total download takes only 60 minutes, but the dashboard shows a total duration of more than 2 hours. How is that possible?
A download can consist of several separate downloads, which are performed after each other or simultaneously. The total duration of all downloads is determined. So in the case of simultaneous execution of multiple downloads, the total duration increases faster than the clock indicates.
On Teamleader, I have a huge duration in the statistics. How can that be?
Teamleader has a unique combination of very low call rate limits and the need to execute an API call per row to retrieve custom fields.
General recommendation is NOT to execute downloads on Teamleader in parallel, but sequentially. For example, having 4 downloads share the very low rate limit will not increase the throughput, but will increase the total duration 4x.