Exchange Search trouble shooting Guide Exchange 2010
There have been many requests for the full trouble shooting steps for Exchange 2010 search and at what point should you add more servers to your environment to help deal with the search load. Here are the steps that we typically do when we receive a support call.
Please note that with OWA, Outlook online mode and E-discovery that there is a 180 second timeout and this value cannot be modified .
Make sure the Internet proxy is disabled on the mailbox server
Check to see if the proxy is running on the server
- From an administrative privileged command line run: netsh winhttp show proxy
Disable the proxy if present
- From an administrative privileged command prompt run netsh winhttp reset proxy
If The Test-ExchangeSearch cmdlet fails; modify the MSFTEFD.EXE.CONFIG file as described in: https://support.microsoft.com/kb/2837276
If you see any 9877 events in the application log; or a QUERY_E_TOCOMPLEX in the ExTra trace apply the fix rom the following KB: https://support.microsoft.com/kb/2616127
Ignore steps 4-10
Navigate to HKEY_Local_Machine\Software\Microsoft\ExchangeServer\v14\ExSearch
Right click and select New\DWORD (32-bit) value
The name should be MaxRestrictionNodes
Value should be 1500000 (Decimal) (Up this to 2000000; theoretically this can be increased more but it can cause performance issues so never set it higher than two million)
Disable and re-enable the content indexes for each database, one at a time
Get-MailboxDatabase | FL *index*
Verify -IndexEnabled was set to true
Run the below command to set it to false
- Set-Mailboxdatabase DBName -IndexEnabled $false
Rename catalog for the DB
start the Search service
Run the below command with True switch
- Set-Mailboxdatabase DBName -IndexEnabled $True
Restart the Search service.
Install Filter pack 2.0 and the latest updates and register them
Filter Pack 2.0: https://www.microsoft.com/en-us/download/details.aspx?id=17062
SP2 for Filter Pack 2.0: https://support.microsoft.com/kb/2687447
Register Filter Pack: https://technet.microsoft.com/en-us/library/ff354976(v=exchg.80).aspx
Make sure all third-party filters such as the Adobe pdf filter are up to date
Move an affected mailbox to another database
Enable Outlook cache mode for all users especially high item/large mailbox users.
Rebuild your content indexes. One at a time. If this is completed after the steps above, we should have maximized performance with search and patched it to the newest updates.
If you are still experiencing search issues at this point, there are some extra steps that support will have you run.
There is a good chance that the timeouts are because of store throttling with search queries and performance issues from the server. Here is how we determine from the support side.
Turn up diagnostic logging
set-eventloglevel "msexchange search Indexer\General" -level expert
set-eventloglevel "msexchange search indexer\configuration" -level expert
Remove all third-party tools from the MB server
Check high-item counts in mailboxes
Check for resource constraints on the MB server such as processor, memory, disk latency, etc., using ExPerfWiz
Monitor the following counters in perfmon
\MSExchange Search Indices(*)\Average Time to Process Batches
\MSExchange Search Indices(*)\Document Indexing Rate
\MSExchange Search Indices(*)\Indexing Slow
\MSExchange Search Indices(*)\Number of Documents Successfully Indexed
\MSExchange Search Indices(*)\Number of Documents That Failed During Indexing
\MSExchange Search Indices(*)\Number of Failed Mailboxes
\MSExchange Search Indices\Number of Mailboxes Left to Crawl
Collect ExTra trace using with following components and tags
Exchange 2010
ExchangeSearch/*
Store/tagCIPSBrief
Store/tagCIPSConditions
Store/tagCIPSParams
Store/tagCIPSVerbose
Store/tagCIStateMachine
Store/tagQnode
Store/tagQroot
Store/tagQueryCi
Store/tagQueryCiDump
Store/tagRestrict
Store/tagSearch
Store/tagViewCleanup
InfoWorker.Common/Search
Disable the signature verification with DIP.exe
Make sure you STOP and DISABLE the following service on all their mailbox servers: WinHTTP Web Proxy Auto-Discovery
Use the dip.exe tool on all the mailbox servers with a search problem.
Place a copy of dip.exe in the Exchange V14 subdirectory (Exchange 2010)
Open an elevated command prompt in the V14 subdirectory (Exchange 2010)
Run the following command: dip /ADMIN_SETBOOL g FTE_VerifySignature 0
Restart the Microsoft Search Indexer Service and Microsoft Search (Exchange) services
Capture a procdump of store while reproducing the issue
If we are seeing that batches are not processing after 30 minutes do to server performance issues, we may add in these keys.
Modify the registry to increase the indexing time out
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\ExSearch
Create two DWORD, decimal values
DatabaseCacheTtlInSeconds. Default is 30 minutes, increase to an hour: 1800
BatchTimeoutInSeconds, default is 1 hour, 1.5 hourr, : 5400
AT this point after following all these additional steps, it is time to build out the environment to add more servers to disperse the load. We always build out and environment and not up. It is more efficient having a few smaller servers than one large server when it comes to server load.
Tony Geraghty
SR Support Escalation Engineer
Terrance Brennan
Support Escalation Engineer