search cancel

Increasing Queue processing performance in SMP 8.5 and later

book

Article ID: 172741

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

NSE's are not processing in a timely fashion, or need to move files out of EventQueue.

Note: This document covers queue performance in SMP 8.5 and higher. For SMP 7.1 SP2 or 7.1 SP2 MP1, please see 156038 "How to increase Queue processing performance in NS 7.1 SP2". For 7.5 up to 8.1, see 158565

Module: w3wp.exe
Source: Altiris.NS.EventRouter.ProcessAgentHttpPostEvent
Description: Event not processed. IP: -.-.-.-; Error description: Altiris.NS.EventRouter+ServerBusyException: Queue was full.
at Altiris.NS.EventRouter.<>c__DisplayClass3.<RegisterDelivery>b__0(IDatabaseContext ctx)

Environment

ITMS 8.5

Resolution

  1. Stop the Altiris services:
    • Altiris Support Service
    • Altiris Client Message Dispatcher
    • Altiris File Receiver
    • Altiris Event Receiver
    • Altiris Service
    • Altiris Object Host Service
    • Altiris Service Hoster
    • Altiris Event Engine

     

  2. Stop the IIS service
    • World Wide Web Publishing Service

     

  3. Move NSE's out of the eventqueue and into a temporary folder (cut and paste the NSE files to a different location)
    • Default location: C:\ProgramData\Symantec\SMP\EventQueue\EvtQueue
    • Or custom location that you may have (see KB 154355 for assistance in locating the folder if it is in a custom location)

     

  4.  (Optional) Consider increasing the 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. To make these changes: Open SMP Console and go to Settings>Notification Server>Core Settings. Under Notification Server Events (NSE)>NSE>Concurrent Messages and Queue directories, you should be able to find the following settings:

Note: The following values are given as an example and they 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="MaxConcurrentFastMsgsThreadPoolSize" type="local" value="20" /> (default is 16)
< customSetting key="MaxConcurrentSlowMsgsThreadPoolSize" type="local" value="10" /> (default is 4)

5. Clearing the event and merge tables with this SQL:

--Run first to drop foreign key for versions older than 8.5RU2

/*Note: The following foreign key doesn't exist after 8.5 RU2 release, so if you have SMP 8.5 RU2 or later, you don't need to drop FK_EventQueueEntryMetaData_EventQueueEntry */

IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_EventQueueEntryMetaData_EventQueueEntry]') AND parent_object_id = OBJECT_ID(N'[dbo].[EventQueueEntryMetaData]'))

ALTER TABLE [dbo].[EventQueueEntryMetaData] DROP CONSTRAINT [FK_EventQueueEntryMetaData_EventQueueEntry]

GO

Note: in the 8.5 release, the constraint has been removed by default and does not need to be re-created.

 

Run the following queries to truncate these tables:

--truncate the following tables

truncate table eventqueue

truncate table eventqueueentry

truncate table [EventQueueEntryMetaData]

truncate table eventqueueprocess --only if it has stale data

truncate table eventqueuestatus --only if it has stale data

 

 

--validate that they are empty

select * from eventqueue

select * from eventqueueentry

select * from EventQueueEntryMetaData

select * from EventQueueProcess

select * from EventQueueStatus

 

6. Restart the SMP services:

  • Altiris Support Service
  • Altiris Client Message Dispatcher
  • Altiris File Receiver
  • Altiris Event Receiver
  • Altiris Service
  • Altiris Object Host Service
  • Altiris Service Hoster
  • Altiris Event Engine

7. Start the IIS service

World Wide Web Publishing Service

8. Move the previously saved NSE's to the EvtInbox or delete them depending on retention requirements.

9. Add an exclusion rule, in your Antivirus software, for the .nse text files or the EvtQueue folder.