Service Desk Manager is performing slowly due to queued transactions on the dbagents

book

Article ID: 8079

calendar_today

Updated On:

Products

SUPPORT AUTOMATION- SERVER CA Service Desk Manager - Unified Self Service KNOWLEDGE TOOLS CA Service Management - Asset Portfolio Management CA Service Management - Service Desk Manager

Issue/Introduction

ServiceDesk environment having a slow performance issue and  the output of the command 'pdm_vdbinfo' is showing the last update agent, responsible for all the locking transactions, having huge number of queued transactions. 

See example :

 

            "Agent #18 - (UPD) prov#4696_bpvirtdb_srvr @01/07/2017 15:33:19 with 1 in work and 326 queued"

Cause

Service Desk Manager r12.9 and later versions store the record lock information in database to control concurrent transactions. Before every record is updated, a lock is obtained, i.e, an entry is added to usp_record_lock table in database. Once the record is updated, the entry is deleted from the database.

These updates on usp_record_lock table is performed via single dedicated update database agent. With huge number of users connected to Service Desk, the number of update and delete transactions increase significantly. This may lead to  performance issues and operations like editing and saving a ticket will take unusually long time. This results in degraded performance and operations like editing tickets will take unusually long time.

Environment

Release: SDMU0M99000-14.1-Service Desk Manager-Full License
Component:

Resolution

From release 14.1.2 has been introduced a new optional NX environment variable :

   @NX_VIRTDB_LOCK_AGENTS

(Note: for previous releases 12.9 and 14.1, please open a support case and check availability)

 

This variable should be assigned a number equivalent to the number of locking update agents.

Default value is 1.

 This option can be installed by running the following command from the Command Prompt on the Primary server machine:

       "pdm_options_mgr -c -s VIRTDB_LOCK_AGENTS -v <XXX> -a pdm_option.inst"

 To avoid losing the change when you run pdm_configure, please run the above command with the '-t' flag as follows:

       "pdm_options_mgr -c -s VIRTDB_LOCK_AGENTS -v <XXX> -a pdm_option.inst -t"

 

   where <XXX> is number of locking agent.

 

Note:

For Advanced Availability environment follow the needed steps to add a new NX environment variable (TEC1448647)