Best practices for setting ports with RPC program numbers or queues and threads
Components, such as the reconciliation engine on the BMC AR System server, use the default queues to communicate with other components. You can optimize the performance of these components by configuring them to use specific private queues. You can also set the number threads used for normalization and reconciliation to increase the speed at which jobs are processed.
A queue is denoted by its RPC program number, for example, 390635 or its purpose, such as fast, list, private, and so on. A job is placed in a queue while waiting for an available thread.
Threads enable the server to process concurrent client requests. Each thread within the multi-threaded carries out a client request, and then returns to the queue to process the next request. For more information about queues and threads function in the AR System server, see in the BMC AR System online documentation.
To configure ports for queues and threads on the AR System server
The BMC AR System server receives requests from BMC CMDB. Before you configure the queues in BMC CMDB, you must first configure the queues on the BMC AR System server. Perform the following steps to configure a queue on the AR System server:
- Log in to the BMC AR System server.
- Select AR System Administration > AR System Administration Console >Server Information > Ports and Queues.
- Add entries to the Server Queues table.
To avoid collision or interference with other BMC Remedy products, make sure that the RPC program numbers on your computer are set as shown in RPC program numbers used by BMC CMDB.
- Configure the Min Threads and the Max Threads for each port.
The Reconciliation Engine multithreading lets you break up large jobs into smaller ones and running them concurrently. However, you must limit the number of concurrent threads to twice the number of CPUs in the server.
- Click Apply.
Restart the AR System server.
Set only as many threads as your database and system resources can reasonably support. The total number of threads cannot exceed the number of database connections available to the AR System server.
RPC program numbers used by BMC CMDB
To use the private queues 300867 through 300886, you must upgrade to CMDB and AR API to 9.1.03 or later.
The following table lists the RPC program numbers used by BMC CMDB.
RPC program number
|CMDB API calls||By default, all BMC CMDB API calls use this program number.|
|CMDB calls||This is for the admin thread only. You must not change this.|
|Extra CMDB queues||Other BMC CMDB components such as reconciliation engine, Atrium Integrator, unified service modeling, and normalization engine, and so on, use these RPC program numbers as their private queues to the BMC CMDB.|
The reconciliation engine cannot use these private queues.
These queues require the Java version of the CMDB and AR API.
|300867 through 300886 |
|5/12||Created during BMC CMDB installation. Used by Product Catalog Data Loader.||390621|
To verify private queues
To avoid collisions with BMC Remedy products, you can use the following methods to examine the private queues on your BMC AR System server:
Inspect the ar.conf (UNIX) or ar.cfg (Windows) files for RPC program numbers in use.
You can find the ar.cfg file in the following locations
UNIX — ARSystemServerInstallDir/conf/ar.conf
Windows — ARSystemServerInstallDir\Conf\ar.cfg
For example, 390626 is used by the
Plugin-Loopback-RPC-Socket(with the Report Creator plug-in). You may see entries similar to the following example in the ar.cfg file:
Private-RPC-Socket: 390601 1 1 Private-RPC-Socket: 390603 1 1 Private-RPC-Socket: 390620 8 12 Private-RPC-Socket: 390626 5 7 Private-RPC-Socket: 390635 16 20 Private-RPC-Socket: 390680 2 2 Approval-RPC-Socket: 390680
ARGetServerInfoAPI call to view the RPC program number that the approval server uses when contacting the BMC Remedy AR System. The API call has the following format:
#include "ar.h" #include "arerrno.h" #include "arextern.h" int ARGetServerInfo( ARControlStruct *control, ARServerInfoRequestList *requestList, ARServerInfoList *serverInfo, ARStatusList *status)
For more information, see in the BMC Remedy Action Request System online documentation.
Private queues for normalization and reconciliation
BMC recommends the following minimum and maximum threads for a medium sized setup consisting of two servers, 4 CPU cores, 16 GB RAM, and 120 GB disk space. See for more information.
|Queue||Description||Default value||Setting in the AR Configuration file |
(ar.cfg or ar.conf)
|Minimum threads||Maximum threads|
CMDB RPC queue for normalization
RPC queue for BMC CMDB API calls back to BMC Remedy AR System server. The possible values are 390698 or 390699.
The possible values for RPC queues are serially between 300867 to 300886 and 390698 or 390699.
AR RPC queue for normalization
RPC queue for BMC Remedy AR System API calls back to BMC Remedy AR System. Select from any of the possible values: 390621-390634, 390636-390669, and 390680-390694.
|RPC queue for reconciliation|
The BMC Remedy AR System server RPC socket that the Reconciliation Engine uses for processing. You can specify only 390698 or 390699, which are the ports reserved for the Reconciliation Engine. You should use only those ports reserved for BMC CMDB and not ports that the BMC Remedy AR System can use.
If you use a port other than the reserved ports, the Reconciliation Engine displays a warning that the port in invalid.
(Support login required)