Boosting SMSP Media Service Performance

SnapManager for SharePoint (SMSP) uses a Media Service (aka Media Server) to perform indexing of backup jobs which allows SharePoint Administrators the ability to search backup jobs for specific content to restore. This is one of the key features of SMSP providing down to Item Version Level recovery As part of this indexing process it can be quite taxing on the server that is being used as the Media Server. It is highly recommended to use a separate server instance (virtual or physical up to you) for this SMSP Server Role. Whether you are using a shared server role (eg. Manager + Media Service) or a separate server you can help the performance of the Media Service by setting the ProcessorAffinity to spread the load. ProcessorAffinity represents each individual processor as a bit, so processor1 = 0x0001, processor2 = 0x0002, processor3 = 0x0004 and then combinations of using 1, 2, or 3. Eg. (Share affinity across 3 processors = 0x0007)

 

Use the following Windows PowerShell to set this value for the Media Service:

 

$mediasvcs = Get-Process -ProcessName "MediaService"

foreach ($mediasvc in $mediasvcs)

{

    $mediasvc.ProcessorAffinity=0x0003 # Processors 1 and 2

    $mediasvc.PriorityBoostEnabled = 1

    $mediasvc.PriorityClass = 'High'

 

    Write-Host "ProcessorAffinity="$mediasvc.ProcessorAffinity

    Write-Host "PriorityBoostEnabled="$mediasvc.PriorityBoostEnabled

    Write-Host "PriorityClass="$mediasvc.PriorityClass

}

 

This is what you should see as a result:

To read more on ProcessorAffinity see http://msdn.microsoft.com/en-us/library/system.diagnostics.processthread.processoraffinity.aspx

To read more on PriorityClass see http://msdn.microsoft.com/en-us/library/system.diagnostics.process.priorityclass.aspx

To read more on PriorityBoostEnabled see http://msdn.microsoft.com/en-us/library/system.diagnostics.process.priorityboostenabled.aspx

 

WARNING: I have played around with these settings in my own lab environment with the SMSP Manager and Media Service in a shared server role. I saw some improvements in performance but have not tested this in a large scale environment or with a server running other shared services. I suggest testing these settings in your own environment before putting into production.

 

-Barkz