Chat now with support
Chat with Support

Essentials for Office 365 2.14 - Performance Optimization Guide

Threads and Parallel Operations

Multi-threading and parallel operations are key ingredients to an optimal performance driven migration or backup, but that comes with caveats.  The more operations that are being processed in parallel (either using threads or parallel jobs) the more resources that are consumed.  This means CPU cycles, large amounts of memory, disk space and network traffic, so if you want to push this area please be sure not to skimp out on the earlier hardware recommendations.

Deployment Location

Earlier in the Architecture section we outlined how Essentials for Office 365 sits “between” source and destination repositories, but that may not always be the optimal deployment.  Although Essentials operates as a “no server side” install piece of software, there may be instances when installing it to your source or destination server or SharePoint WFE may provide a substantial performance increase.  If you reference the Architecture diagram, you will notice the data flows from source through Essentials (on the host) and then ultimately to the destination, but what if Essentials was deployed on to the source or destination directly?  That would minimize one entire network transfer from the operation leading to a more direct source to destination content move.  As you can imagine, in some environments this can lead to very impressive performance gains and if possible, one of our more strongly recommended configurations.

Memory Allocation

Memory allocation to Essentials is vital to a successful multi-threaded or parallel run operation.  Each instance of the software will consume additional memory and each additional thread has the potential to do so as well.  Please be conscious of the relationship between the total amount of system memory physically available on your host machine, how much is being consumed by other resources and how much is left to allocate to Essentials.  We do not recommend allocation more than 50% of total physical system memory to Essentials.  This is certainly an area where trial and error may be required to find the ideal spot between optimization and overreach, but using a 50/50 ratio is a good starting point to begin.

To configure the amount of memory allocated to Essentials for Office 365, please go to Help > Profile Manager > Memory Management.  Please note that an application restart is required after modifying this value.

To configure increased thread count for operations, please go to Help > Profile Manager >Global Variables and change the value in the Max Threads for Copy field.  Please note that an application restart is required after modifying this value.

info

NOTE: When adjusting Memory Allocation please be aware that this will be the amount of memory consumed for every running instance of the Essential’s software on this host computer.  For example, if you configure 4GB of memory and run 3 parallel instances (i.e. scheduled backups), the combined total memory consumption of all instances is now up to 12GB.  This may be much more than what is available on your host machine and can lead to an increased number of failed events, premature termination, failed jobs or any number of related issues.  Essentials is designed to consume as much resources as possible to maximize performance and responsiveness per instance, so in some cases running multiple operations (threads) in a single instance is preferable to running a single operation in multiple, concurrent instances.

A quick example to determine memory allocation would be to take the total physical amount of memory on your host machine and divide that in half.  Then divide that remaining value by the number of concurrent instances (migration or backup) that you wish to perform.  The remaining value is what you should use as a starting point for the Memory Allocation value.

16GB / 2 = 8GB of usable memory.

8GB / 3 concurrent or parallel instances (migration or backups) = 2.67 GB rounded down to 2560MB.

In this example, your starting point would be to select 2560MB for memory allocation and since that is more than a 32-bit application permits, please be sure to take advantage of 64-bit architecture.

 

SharePoint and Office 365 Permissions

A quick mention to make sure you are providing the software with an adequate level of permissions for all SharePoint and Office 365 operations.  If the user account provided does not have access to certain locations or objects (sites, lists, mailboxes, groups, etc.), this will result in any number of failures and connection issues which will decrease performance.  When possible, always provide the highest level of permissions available, this means Site Collection Admin for SharePoint and Global Administrator for Office 365.

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating