Increasing Queue processing performance in SMP 7.5 and higher including 8.x
Last Updated February 19, 2019
NSEs are not processing in a timely fashion, or need to move files out of EventQueue.
Note: This document covers queue performance in SMP 7.5 and higher. For SMP 7.1 SP2 or 7.1 SP2 MP1, please see TECH183347 "How to increase Queue processing performance in NS 7.1 SP2". For SMP 8.5, please refer to TECH251902 "Increasing Queue processing performance in SMP 8.5"
ITMS 7.5 and higher including 8.0-8.1.
Stop the Altiris services:
Altiris Support Service
Altiris Client Message Dispatcher
Altiris File Receiver
Altiris Event Receiver
Altiris Object Host Service
Altiris Service Hoster
Altiris Event Engine
Stop the IIS service
World Wide Web Publishing Service
Move NSEs out of the eventqueue and into a temporary folder (cut and paste the NSE files to a different location)
Or custom location that you may have (see KB TECH161370 for assistance in locating the folder if it is in a custom location)
If a larger queue size is desired (Optional)
Edit the Windows Registry entry for "HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\eXpress\Notification Server". Increase the "MaxFileQSize(KB)" to the new desired queue size in bytes.
The default is 512000 (512 kb).
The SMP can benefit from a larger queue size of between 2000000 and 4000000 (2 - 4 GB of harddisk space).
Consider increasing these threadcounts and queue thresholds in the "C:\ProgramData\Symantec\SMP\Settings\coresettings.config" file to increase the threads available for each queue and balance the load across more queues.
Note: The following values are given as example and those are not the ideal values since each environment may need a different set of values. The general rule here is not to go too high at once and in most cases you may not need to change the entries the all.
< customSetting key="FastQueueThreshold" type="local" value="270000" /> (default is 250000) < customSetting key="SlowQueueThreshold" type="local" value="6000000" /> (default is 5000000) < customSetting key="MaxConcurrentFastMsgsThreadPoolSize" type="local" value="20" /> (default is 16) < customSetting key="MaxConcurrentSlowMsgsThreadPoolSize" type="local" value="10" /> (default is 4)
To determine if changing the default configuration will be helpful, run this select query in SQL to see how many concurrent NSE files are being processed.
SELECT Queueid AS [QUEUE ID], COUNT(Id) AS [THREADS IN USE] FROM EventQueueEntry where ProcessingState = 2 GROUP BY ProcessingState, QueueId order by queueid, ProcessingState
Expect to see around 10 or more threads working on a full queue. If the results of this select statement show 1-4 threads running concurrently and there are plenty of NSE files to process, try adjusting these thresholds.
In SMP 7.5, increasing the MaxConcurrentPriorityMsgsThreadPoolSize setting will give zero performance gain. Since more threads are allocated but are never assigned work, increasing this setting can lead to slightly lower performance.
The LargeQueueThreshold does not need to be modified.
Coresettings does not have a value for MaxConcurrentLargeMsgsThreadPoolSize, it is hardcoded to 1 thread.
Steps 6 and 9 must be done for these threshold settings to have an effect on your NSE backlog.
Clearing the event and merge tables with this SQL: