Remedy - Server - AR v.9.x - How the NumberOfConnections are getting established by the ARAdmin user in the database?

Version 1
    Share This:

    This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.


    PRODUCT:

    Remedy AR System Server


    COMPONENT:

    AR System


    APPLIES TO:

    All versions of Remedy AR System Server.



    PROBLEM:

    How the NumberOfConnections are getting established by ARAdmin user in the database?

    Example: 
    The following threads are configured in the application for FAST and LIST RPC queues:
    Private-RPC-Socket: 390620 8 12
    Private-RPC-Socket: 390635 16 20


    It is expected to have “NumberOfConnections” as per the min. thread configuration, however the value is lower than configured.

     


    CAUSE:

    N/A


    SOLUTION:

    Note: This article applies for versions 9.x and higher since AR Server is Java based.
    For versions earlier than 9.x please check the following article below:
    Remedy - Server - How ARAdmin connects to the Database server and make the connections

    First, to check the current number of connection established by the ARAdmin user with the respective database, run the following SQL query:
    SELECT
         DB_NAME(dbid) as DBName, COUNT(dbid) as NumberOfConnections, loginame as LoginName
    FROM
         sys.sysprocesses
    WHERE 
         dbid > 0
    GROUP BY 
         dbid, login;


    Below is the output of this query and for the example displayed the number of connection established by the ARAdmin user is 13. 

              User-added image



    Explanation

    The RPC queue thread size is not directly related to the number of database connections made by AR server.

    There following reasons and factors that affect:


    1- Thread size only indicates number of threads that are waiting for work, they will only establish a connection to database when they are actually performing work and needs something from database. e.g. when API call is in progress.

    2- Even in some cases, there are a few API calls (e.g. GSI) that may not need to go to database.
    They can return server configuration from memory. So it may not result in opening a connection to the database.


    3- ARS uses pooling feature for the database connectivity i.e. there are only a limited number of database connections that the AR server will ever create – default is 80.  When one thread releases the connection to the pool while processing something in memory, other thread can claim that connection.
    So the concurrent number of database connections is not at all related to the RPC queue thread size.


    4- There could be more than one AR server on a server group that will affect the number of database connections.

    5- If the Smart Reporting database resides on the same database, there may be connections from that.

    6- There will be lot of background activities – escalations, archiving, fts indexing, HG computation, etc. that will need connections to the database.

    It is not possible to directly predict how many database connections a server may hold to the database, but for sure it will not be more than 80 (being the default in  the .xml inside the .jar – this is not configurable via Centralized Configuration form) from a given AR server.
     

     


    Article Number:

    000174525


    Article Type:

    Solutions to a Product Problem



      Looking for additional information?    Search BMC Support  or  Browse Knowledge Articles