Microsoft Office Tutorials and References
In Depth Information
Optimizing for Performance
The WFE is a stateless machine, meaning that only the requests currently being executed require
memory. The amount of memory that each request consumes depends on the size of the range being
rendered. In most scenarios, memory is not a bottleneck on the WFE.
On the other hand, the ECS is stateful and keeps in memory the state of all the opened sessions. You can
use the following formula to approximate the amount of data stored in ECS memory:
Total memory = (number of concurrent sessions * session size) + unused items cache
The amount of memory required depends on how much is used by the sessions, plus the size of the unused
items cache kept in memory. Allowing for a larger ECS memory size will improve the ECS performance.
The ECS memory size is limited by the available memory on the machine and by other processes that
might need to use that memory. Each of the components that make up the ECS memory is discussed
separately in the following sections.
Number of Concurrent Sessions
The number of concurrent sessions depends on the session length and the number of sessions opened
Here are some tips on reducing the session length:
Set the session timeout and short session timeout to values that are appropriate for your
organization. The shorter you set these values, the fewer sessions will remain open, therefore reducing
the memory footprint. For example, if you expect your users to only look at a dashboard without
performing any interactivity, you could set the timeout values to 0. The downside of setting them
to small values is that users might lose their work after a certain period of inactivity. Remember
that after a session times out, the EWA continues to display the workbook, and users will get an
error only if they try to perform an operation at a later time. You can configure the session
timeout settings differently for each trusted location (see Chapter 7).
When you’re designing a web page that uses the EWA, consider configuring the EWA with the
Close Session Before Opening A New One option enabled. When this option activated, users
will not be able to navigate to the previous workbook by using the browser’s Back button.
When you use the API, explicitly call CloseWorkbook as soon as you don’t need the session
anymore. CloseWorkbook is an API method that closes the session.
Here are some ideas to reduce the number of sessions opened:
As an administrator, you can control the maximum number of sessions that a user is allowed
As a web page designer, you can control the number of EWAs on a page. Remember that each
EWA instance uses a separate session, even if they all display the same workbook.
In the API, cache the session ID and use the same session for multiple method calls.