Changing Indexer Performance Setting in SharePoint 2010/2013


Just a quick note for anyone that used MOSS/SharePoint 2007 and is wondered why the option to change the indexer performance has been removed in SharePoint 2010/2013. Well worry not SharePointer, it is still there.

image

Where is it in SharePoint 2010/2013?

It’s just moved to PowerShell – Set-SPEnterpriseSearchService to set it and Get-SPEnterpriseSearchService to see it. Behold:

image

So if you want to stop SharePoint crawling to stop hammering SQL for whatever reason run:

Get-SPEnterpriseSearchService | Set-SPEnterpriseSearchService –PerformanceLevel “Reduced”

The different levels mean:   

Reduced: Total number of threads = number of processors.

Partly Reduced: Total number of threads = 4 times the number of processors.

Maximum: Total number of threads = 16 times the number of processors.

There’s no mention of any restart requirement but I’d not be surprised if any active crawls need to be restarted to see the new value.

Crawler Impact Rules

There is of course another way of stopping SharePoint Denial-Of-Service (DOS) attacking either itself or an external content-source. That would be via “Crawler Impact Rules” in the Search Administration page.

image

Add rules here to ensure the crawler reads gently from specific locations if the crawl is overwhelming whatever it is being crawled.

image

More info @ http://technet.microsoft.com/en-us/library/cc261720(v=office.12).aspx – this was introduced in MOSS but the concepts are still the same, even in 2013. Credit to my colleague Miguel A Ballesteros Mesa for helping on this post.

Cheers,

// Sam Betts

Comments (2)

  1. BlueSky2010 says:

    Thanks Sam for putting this together! I was wondering about the the restart requirement too. How do you "restart active crawl"? I've switched the Search PerformanceLevel from Maximum to PartlyReduced but roadrunner still keeping the same amount of memory. Any suggestions? I was going to do a computer restart but wondering if there is a better way of doing this.

  2. Hey BlueSky. Noderunner will use a lot of memory if it needs to; "a lot" is all relative at the end of the day but it's not uncommon to have the content-processing noderunner idling around 1-2Gb for example. Not sure what your usage is but high memory usage isn't so unusual. It's designed to scale huge content-sets so isn't exactly lightweight 🙂

Skip to main content