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"
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.
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)