Description
Backup Exec protects online SaaS resources like Microsoft 365.
Unlike jobs protecting on-premises workloads (like NTFS file system, databases etc.), performance of the jobs backing up cloud resources depends a lot on factors which are outside of Backup Exec’s control. E.g., external network bandwidth between the Backup Exec server and the data center, Microsoft 365 API throttling policies etc.
Note: Microsoft enforces throttling to limit the number of concurrent calls to a service to prevent overuse of resources. When a throttling threshold is exceeded, Microsoft limits any further requests from that client for a period of time. This way throttling helps maintain optimal performance and reliability of the Microsoft services if an overwhelming number of requests occurs. Different Microsoft APIs have different throttling limits and behavior.
Backup Exec tries its best to get the optimum performance considering all these factors and has in-built mitigation strategies:
1. To utilize available network bandwidth effectively, Backup Exec Microsoft 365 protection jobs are multi-stream enabled by default. Backup data is downloaded in parallel streams.
2. Retry logic in case of failures mainly driven by network or throttling issues.
3. When throttling is detected, Backup Exec automatically reduces the requests to avoid failures due to throttling.
4. Data is queried in batches.
Refer below articles to get more details about M365 Exchange and Onedrive plugin performance tuning -
Performance Tuning M365 Exchange Plugin
Performance Tuning OneDrive Plugin
Backup Job type
Incremental forever
Incremental-job-forever paradigm is incorporated in Backup Exec Microsoft 365 protection jobs. This means backup jobs download only new or modified items in the selected Exchange Online mailboxes, OneDrive volumes etc. The very first backup job is effectively a full backup job. Hence depending upon number of Microsoft 365 entities like mailboxes, OneDrive volumes, number of items in such entities, size of the items, available internet bandwidth etc., the first backup job and custom full backup jobs can take long time to complete.
Consolidate Full
Consolidate Full jobs synthesize full backup sets from the prior full and incremental backups, to create a new full backup. This keeps the length of the incremental backup chain manageable and facilitates expiration of backup sets after their retention period is over.
Consolidate full backup job replaces recurring full backup job in case of Backup Exec Microsoft 365 protection jobs. Consolidate full backup job saves network bandwidth and reduces backup window by not going to the cloud resources.
Consolidate full jobs are always single stream as they do not need to download data from cloud resources.
One should keep consolidate full backup job frequency to what one would have kept for full backup job. By default, the frequency is once a week. If there are too many forever incremental backup jobs between two subsequent consolidate full backup jobs, the consolidate full backup job can take long time to finish. So it is recommended not to have too long chain of incremental backups between two consolidate full backup jobs.
It is recommended to schedule the consolidate full backup job outside the incremental backup job window.
Custom Full
Even though there is no need to run custom full at regular intervals, they are supported.
A custom full job downloads all the items from the cloud resources selected in the job.
The custom full backup jobs can take long time to complete depending upon number of Microsoft 365 entities like mailboxes, OneDrive volumes, number items in such entities, size of the items, available internet bandwidth etc.
Microsoft 365 Job Settings
“Minimum number of streams required” in Backup Options >> Microsoft 365 determines the minimum number of streams that the backup job needs to acquire. If it is not able to do so the job will fail.
Ensure that the value you set here is less than or equal to the number of concurrent operations that you have defined for the storage device where job is directed to.
This number does not affect performance of the job and can be kept at the default value in most cases.
"Preferred number of streams to use for backup" To optimize internet bandwidth utilization in a Backup Exec Microsoft 365 job, one can change number of streams used in that job and observe the impact on the next run of the job. The stream count can be changed via “Backup Options >> Microsoft 365 >> Preferred number of streams to use for backup’.
The table below can be referred as a guide change the default count of 10 as required
Available Internet bandwidth |
Stream count |
Below 50 Mbps |
2 |
50 Mbps |
3-4 |
100 Mbps |
5-7 |
150 Mbps |
8-10 |
For higher bandwidth, the count depends upon the Backup Exec server hardware and the specific environment and needs be determined by experimentation.
The value specified in ‘minimum number of streams required’ is picked up from the concurrency specified for the target deduplication storage device. The additional number of streams specified in the ‘preferred number of streams to use for backup’ after subtracting the minimum number of streams will be programmatically handled by Backup Exec.
Example:
If minimum number of streams required is set to 1 and preferred number of streams to use for backup is set to 10 and the concurrency setting on the deduplication storage is set to 4.
Then assuming the job has as many or more entities selected, to use the preferred streams count of 10, the job will use 1 stream from the concurrency configured on the deduplication storage device and remaining 9 will be handled programmatically. The remaining concurrency on the deduplication storage (3) is now available for other jobs targeted to deduplication storage device.
The backup job log will indicate the number of streams used by the backup job.