Performance Considerations

Excel Services is designed to scale from a single-server installation up to an enterprise environment with multiple load-balanced servers. The flexibility in the Excel Services deployment model allows servers to be added to the server farm as the demand for Excel calculation processing grows.

Scaling Excel Services

For many organizations, the responsiveness and performance of Excel Services are critical factors in the deployment of the technology to the enterprise. Depending on the size, complexity, and number of workbooks hosted in Excel Services, a single application server might not be sufficient to meet your service level objectives. The component-based architecture of Excel Services allows you to allocate services across servers to relieve bottlenecks and optimize throughput. For example, if it appears that the processing of workbook calculations or external data calls are slowing down the delivery of data, you can enable the Excel Calculation Services role on more application servers. On the other hand, if the workbooks are calculating quickly but Excel Web Access is still sluggish in rendering results, you can add more front-end Web servers to reduce the rendering load.

Enabling Components

There are a number of variations possible for scaling Excel Services to meet your needs based on the number of users and the types of workbooks and data connections your farm will be handling. The architecture of Excel Services is divided between components that run on the Web front-end servers, which consist of Excel Web Access and Excel Web Services, and Excel Calculation Services, which runs on the back-end application servers. The relationship of these components is shown in Figure 20-9. At the core of the scalable architecture is the ability of Excel Services to load-balance calculation requests across multiple application servers running Excel Calculation Services.

image from book
Figure 20-9: Excel Services components


Any user-defined function assemblies or dependency files that are used by Excel Services must be configured the same on every application server hosting Excel Calculation Services.

Enabling the Excel Calculation Services component on more than one server is simply a matter of starting the service on each of the servers that will provide calculation services. The component can either run exclusively on an application server or share the server with other SharePoint Server 2007 services. To configure a dedicated Excel Calculation Services server, open the Operations page in Central Administration and click the Excel Calculation role to highlight the components that should run on the server.

When multiple servers provide calculation services, Excel Calculation Services Proxy manages the requests from each Web front-end server and coordinates the distribution of requests to each of the calculation servers. Each server can handle the calculations for multiple workbooks at the same time and take advantage of multiple processor configurations by running requests on different threads. All the calculations for a single workbook are handled by one server and are not broken out across servers. Furthermore, once an application server has been designated to process calculations for a specific workbook, it continues to do so until the workbook is closed or the session ends. This arrangement allows Excel Services to improve performance by maintaining session state for a user interacting with a specific workbook.

Enhancing Throughput

To enhance throughput on both the front-end and back-end components, you can enable Excel Calculation Services on multiple servers to act in parallel. Figure 20-10 is an example of two servers acting in parallel. In this case, each server runs the Web Front End role, Search, and ECS, along with possibly other services as required. The Web servers themselves are load balanced through a device or service outside of SharePoint Server 2007, such as the Windows Network Load Balancing service. This arrangement allows users to make requests to a single URL and have the pages served up by either server, depending on priority and load. The workbook calculations themselves are load balanced by Excel Services between both available servers.

image from book
Figure 20-10: Scaling Excel Services by using multiple servers

If the heaviest usage in your farm is on the Web front-end servers, it might be more appropriate to have multiple load-balanced front-end servers but to have only one ECS server. For example, if your workbooks do not contain complex calculations with links to external data, a single application server might be able to perform all the calculations. At the same time, if your users are making heavy use of Excel Web Access Web Parts in many sites, the load might fall more heavily on the front-end server to render, cache, and refresh the Web Part displays. In this scenario, you can implement a farm configuration similar to the one shown in Figure 20-11, where two Web front-end servers both use a single Excel Calculation Server. This configuration also reduces the overhead that the Excel Services load-balancing feature would otherwise incur.

image from book
Figure 20-11: Scaling Excel Services by using a farm configuration with two Web front-end servers

A common scenario is one in which an organization needs to scale out its Excel Calculation Services components to take on a heavier load of workbook processing while the overall Web throughput is adequately handled by the Web front-end servers. This can happen as users become more aware of the capabilities of Excel Services and begin to feed in more sophisticated workbooks or to take advantage of User Defined Function assemblies on the servers. Figure 20-12 demonstrates a configuration that includes two Web front-end servers and two Excel Calculation Servers. This scenario illustrates how your Excel Services infrastructure can be expanded as the demand from your users expands. A server farm can start with only a single Excel Calculation Server and additional servers can be added as needed without having to re-architect the farm.

image from book
Figure 20-12: Scaling Excel Services by using two Excel Calculation Servers

Although performance scaling is one objective of adding multiple application servers to your farm, an added benefit is redundancy. By having multiple Web front-end servers and multiple Excel Calculation Servers, you also ensure that there will be no single point of failure in your server farm. If any one of the servers fails, there is always at least one server that can pick up its load temporarily. In a farm where there is only one ECS server and it fails, Excel Services will be unable to load and render workbooks and any dashboard Web Parts that use Excel data will not be available.

Modifying the Default TCP Settings

If you notice that Excel Calculation Services denies requests during periods of high usage, it might be due to a delay in releasing Transmission Control Protocol (TCP) session resources that is preventing Excel Calculation Services from receiving additional requests. By default, TCP maintains a closed connection for up to four minutes, which can result in closed or active sessions tying up all available ports and TCP control blocks. To modify the default TCP settings, you can change the TcpTimedWaitDelay value from 240 seconds to 30 seconds, which should still give all packets time to clear before the port is reused. Use the Registry Editor to edit this value under the following key:


Limiting the Number and Duration of Open Sessions

By default, users are allowed a maximum of 25 open Excel Services sessions. A new user connection is created each time a user opens a workbook in the browser and for each instance of a Web Access Web Part on a site page. For example, if a user opens a dashboard page that has four Web Access Web Parts each displaying a portion of a workbook, the user has consumed four sessions. When the maximum number of sessions has been reached, any additional Web Part instances fail to load and display Excel 2007 content. To change this setting, use the following steps:

  1. Open SharePoint 3.0 Central Administration.

  2. Under Shared Services Administration, click the Shared Services Provider hosting Excel Services.

  3. Under Excel Services Settings, click Edit Excel Services Settings.

  4. Under Session Management, edit the Maximum Sessions Per User setting.

The length of time that an Excel Services session remains active is determined by the Session Management settings defined on each Trusted File Location. Reducing the number of sessions that a user can start can result in Web Parts failing to load properly and frustrations for some users. To facilitate recycling unused sessions, you can adjust the Session Management settings Session Timeout and Short Session Timeout.

The Session Timeout setting controls the maximum time (in seconds) that an Excel Services session remains open after the last user interaction with the workbook through Web Access. The Short Session Timeout setting is similar and is used to configure the timeout interval for sessions that are opened but have no interaction from the user. For example, if a user opens a page with three Excel Web Access Web Parts on it, all three sessions normally expire at the end of the Short Session Timeout interval. If the user navigates to a different sheet in one of the workbooks before the Short Session interval expires, that session will not expire until the Session Timeout interval has passed. While a session is active, any interaction with the workbook is done through the existing session, thereby minimizing the need to open new sessions. If the Short Session Timeout expires and the user then begins interacting with workbook, Excel Services opens a new session. To change the Session Management settings, follow these steps:

  1. Open SharePoint 3.0 Central Administration.

  2. Under Shared Services Administration, click the Shared Services Provider hosting Excel Services.

  3. Under Excel Services Settings, click Trusted File Locations.

  4. Click the Trusted File Location you want to configure.

  5. Under Session Management, edit the Session Timeout or Short Session Timeout settings.


Web Part sessions are not preserved following a browser refresh. Using the Refresh button in the browser to reload an entire SharePoint Server 2007 site page that has Excel Services Web Access Web Parts on it causes new sessions to be opened for every Web Part.

Microsoft Office Sharepoint Server 2007 Administrator's Companion
MicrosoftВ® Office SharePointВ® Server 2007 Administrators Companion
ISBN: 0735622825
EAN: 2147483647
Year: 2004
Pages: 299

Similar book on Amazon
Microsoft Office SharePoint Server 2007 Best Practices
Microsoft Office SharePoint Server 2007 Best Practices
Microsoft SharePoint 2010 Administrator's Companion
Microsoft SharePoint 2010 Administrator's Companion
Professional SharePoint 2010 Administration
Professional SharePoint 2010 Administration
Inside Microsoft  Office SharePoint  Server 2007
Inside Microsoft Office SharePoint Server 2007 © 2008-2017.
If you may any questions please contact us: