Microsoft Office Tutorials and References
In Depth Information
.xlsb 32-bit server
.xlsb 64-bit server
.xlsx 32-bit server
.xlsx 64-bit server
This table demonstrates that the size of the base workbook in memory is typically less than the size of the
xlsx workbook on disk, but more than the xlsb workbook on disk. The xlsx F1 workbook is an exception.
A key point to be made here is that there isn’t a clear method of predicting how much ECS process
memory will be needed for a workbook, even if the disk size is known. Ideally, you can use the ECS to load
workbooks that are representative of a broad set of workbooks used by your organization so you can
accurately determine how your workbooks will affect the ECS process size.
The ECS process memory needed to load the same workbook in either the Excel Workbook or the Excel
Binary Workbook file format is essentially the same. However, the use of the Excel Binary Workbook file
format will significantly improve ECS throughput and response times.
Excel Services successfully loads only workbooks that do not contain unsupported features. If an
unsupported feature is encountered during the loading process, the operation and open workbook call fail. Excel
Services is designed to release the memory associated with loading a workbook in the event of a failed load
operation. Avoid loading workbooks that contain unsupported features, because it unnecessarily consumes
server resources with no benefit. (Chapter 4 discussed the unsupported features that can cause a workbook
to fail when loaded.)
The three example workbooks used in this chapter are shared by all users after the workbook is loaded
into memory. This is because the workbooks do not contain any features that would cause a private state
to be created when the workbook is opened. (Chapter 3 discussed workbook states.)
Each of the workbooks is configured for manual calculation and each contains the use of a volatile =Rand()
function. When a manual calculation operation is invoked for the workbook and the ECS performs the
calculation, the size of the ECS process increases. This is because the workbook state changes and the current
user’s workbook is no longer shared between sessions. The session that performed the manual calculation
now has a private copy of the workbook in memory. This increase in ECS memory size is incurred for
anyone who subsequently manually calculates the workbook and creates a private copy in memory.
Performing an operation on a workbook that changes the workbook state to private results in a
corresponding ECS memory size increase that is roughly equivalent to 50 percent of the base workbook
In addition to calculation, other types of interactivity can cause a private copy of the workbook to be
created in memory. Examples include pivot drill operations, using parameters, and refreshing external data
connections where the credentials for accessing the external data source are not shared.