Microsoft Office Tutorials and References
In Depth Information
Understanding Operational Concepts
Round Robin — The WFE will choose the next ECS machine for every new session. You can use
this method to better distribute the load between the ECS machines in some scenarios.
Workbook URL (default) — The WFE will use a hash based on the workbook URL to determine
the ECS machine. The same workbook will be serviced by the same ECS machine. This method
reduces the memory consumption on the ECS machine, because each workbook will be opened
only on one ECS machine. It does have the disadvantage of not using the CPU on the other ECS
machines if the sessions all go to the same (or few) workbooks.
After the session opens and the ECS is chosen, all subsequent requests in the same session will be
serviced by the same ECS machine (that is, the machine that contains the state of the session in its memory).
ECS Thread Management
Incoming requests to the ECS are queued by the IIS, and the next available request starts its execution
when a thread is available. In the basic case, a request is taken out from the queue and assigned a thread
that will execute it. After the request is done, the thread is returned to the thread pool to be used by a
new request. The number of requests that get executed in parallel is the same as the number of available
When a request performs an I/O or networking operation (such as fetching a file), its thread is not
utilized. In some cases, the I/O or networking operation is performed asynchronously to avoid
underutilization of the CPU on the ECS machine, and during this time, the thread is returned to the pool for use
by another request. Not all I/O operations are asynchronous, so if your CPU is underutilized on the ECS
while requests are queuing up, you should increase the number of available threads.
Queries to external data are performed in parallel on separate requests. For example, if a workbook has
several pivot tables and the user refreshes them, the pivot tables will be executed in parallel to optimize
for the total time. You can control the maximum number of queries that a request may run in parallel
through the Maximum Concurrent Queries Per Session administrator setting.
Excel Services does not support multi-threaded recalculation (MTR). MTR is a new feature that was
added to the Excel 2007 client, in which complex calculations are automatically broken down into
multiple smaller parts that are run in parallel on multiple threads. In Excel Services, calculations are
run serially in each request.
Charts are calculated and rendered in Excel as follows:
The EWA asks the ECS for a range that contains a chart.
The ECS calculates that range, including calculating the data on which the chart is based. This
data could come from a sheet range or from a pivot table (in the case of pivot charts).
The ECS returns the range data along with the location and ID of the chart to the EWA.
The EWA generates the HTML for the range, which includes an img tag for each chart. These
img tags are linked back to the WFE with the ID of the charts.