Intelligence Center throttling mechanism prevents servers from freezing or
encountering an Out-of-Memory situation when they are pushed beyond their
not the same as ensuring good quality of service. If a Unified Intelligence
Center deployment is being overused, the level of service may degrade
substantially before the throttling mechanism is activated.
Memory is the
resource that is actively throttled by the Unified Intelligence Center
application. Processing report data accounts for the majority of memory
consumption in Unified Intelligence Center. For that reason, memory throttling
focuses on controlling memory consumption due to reporting activity.
row is the basic unit used to measure the amount of reporting
activity. Using report rows as the basic unit to measure reporting activity
gives flexibility to users. A user can decide to run a few big reports or many
small ones and the throttling mechanism are equally effective without requiring
Report rows are
counted only as they are loaded into memory, so no guesses are made as to
report size. Test results using the row sizes of the installed stock reports
indicate that 2 KB is a conservative estimate for the size of a report row. If
each report row is 2 KB in size, then 250,000 is the maximum number of report
rows that a Unified Intelligence Center server allows into memory before the
server encounters an Out-of-Memory situation.
To enforce this
limit, each Unified Intelligence Center keeps count of the number of report
rows currently loaded into memory. That count is checked by all reporting
operations to determine if additional report rows can be loaded into memory. If
an operation cannot proceed because the number of concurrent rows in memory has
reached the maximum value, the operation fails and an error is displayed to the
What happens if the limits
Report rows are
loaded into memory when the data is being fetched from the data source and when
it is being prepared to be sent to the browsers.
Either of these
operations can fail if the maximum number of concurrent report rows in memory
If a violation
happens while Unified Intelligence Center is reading data from a data source,
the report execution aborts and the report is marked as failed. Unified
Intelligence Center does not take partial results–the system either reads all
the data that a user requests or marks the report as failed and stores none of
If a violation
occurs while Unified Intelligence Center is in the process of preparing the
HTTPS response for a browser (HTML of a grid, JSON string of a gauge, or XML of
a chart), the request to display the data is rejected and the user sees an
error message that says the report cannot be rendered because the server is low
Do not use the
throttling mechanism for any sizing purposes. The throttling mechanism is
designed to prevent an Out-of-Memory situation and hence this mechanism does
not ensure a good quality of service to the users. Always use the sizing
calculator to determine your reporting sizing needs.
Center comes with a built-in throttling mechanism to prevent the system from
flooding when used beyond limits. If the critical components, CPU or the Memory
cross a certain level of usage, throttling sets in and disallow any further
requests from the users. CPU and Memory are monitored and their highest
threshold is set at 80% before complete throttle is enforced.
Realtime reports (from report viewer and permalinks) and scheduled reports are
throttled as the first instance in Unified Intelligence center.
If you attempt to
run or refresh a historical or realtime report when the system is throttled,
you will receive a “server busy” message. A scheduled report processed when the
system is throttled will result in an error and it will reflect in the
Schedule’s last run status.
The system begins to
recover from the high usage of resources. At this time the throttle is
disallowed and operations resume as normal. The throttle is removed gradually,
resulting in the throttled activities getting back to normal mode one by one.
gradually removed to make sure the system does not oscillate between throttled
and non-throttled mode frequently.