This documentation supports the 9.1 version of BMC Remedy ITSM Deployment.

To view the latest version, select the version from the Product version menu.

Configuring private queue threads

This topic was edited by a BMC Contributor and has not been approved.  More information.

This topic contains the following information:

In case of heavy workload, create Private Queues with specified threads counts to allocate resources to different workload components. This provides the following advantages:

  • Limits the number of threads for a particular component
  • Makes sure that the component’s workload does not directly interfere with the regular workload (running on fast and list threads) by executing the work in separate pools (Private Queues)
  • Restricts the amount of CPU that individual components use

You can tune most components to limit the number of BMC Remedy AR System server threads and configure the number of threads used internally by that component. To limit the number of AR System server threads, assign a Private-RPC-Socket (private queue) and set the appropriate minimum and maximum threads.

For more information on updating the AR System Administration: AR System Configuration Generic UI form and AR System Administration: Plugin Server Configuration form, see Updating configuration settings by using the AR System Configuration Generic UI form Configuring java plug-in servers  and  Setting plugin server configuration options  in BMC Remedy AR System documentation.

The following table lists tuning methods for several workload components.

Tip

Press f to open the page in full screen mode. Press Esc to exit the full screen mode.

Thread tuning for workload components

Component

Suggested Private-RPC-Socket setting

Where to configure the Private Queue to use

How to configure the internal thread count

Email Engine

390681 2 2

Emaildaemon.properties 
com.bmc.arsys.emaildaemon. 
<serverName>.RPC=390681

The number of threads connecting to the AR System server is equal to the number of enabled mailboxes.

Flashboards

390619 1 2

Set the ARServerRpcNumber parameter in the
ARSystemInstallDirectory
/flashboards/server.conf
file.

Flashboards is single-threaded.

Note: For single threaded plug-ins, set the number of queue threads to be a maximum of 2. This makes sure that if one thread takes too long and times out, the plugin can connect back in on the second available thread.

CAI

390693 1 6

Open the CAI Plug-in Registry through Application Administration Console > 
Custom Configuration > Foundation > Advanced Options > 
Command Automation Interface - PlugIn Registry


In the CAI Plug-in Registry dialog box, either create a new entry 
(if one does not exist for Private Queue 390693) or modify the 
existing entry.

In the CAI Pool Configuration section, for pool 0, make sure the number of the threads is 6. The CAI plug-in for BMC Remedy IT Service Management uses pool 0. Another application uses pool 1000. The total of all pool threads is listed in the Total Threads field.

For more information about configuring CAI, see the article 
The Pulse: Queues & Threads – Utilizing Private Queues on BMC Communities.

Overview Console

390622

Configure the APPQUERY plug-in with the Private-RPC-Socket user-defined element in the AR System Administration: Plugin Server Configuration form.

Set the value to the Private Socket number. For example, 390622.

In the AR System Administration: AR System Configuration Generic UI form, allocate the private queue with threads.

For example: Private-RPC-Queue: 390622

Atrium Integration Engine

Use any  available
private socket
from the range:

390621-390634    

390636-390669    

390680-390694    

To set an Atrium Integration Engine default RPC-socket, edit the 
aie.cfg file in the AtriumInstallDirectory/aie/service64/conf/ directory, and set the PrivateRPCPort  parameter. 

To specify a private socket for each Exchange, go to the Connection Settings tab of the Data Exchangepage for that Exchange; then clear Use default destination AR server, and specify the RPC Program Number.

In the Advanced tab of the Data Exchange page for each Exchange, provide a value for the Number of Threads.

The default value is 3. The maximum value is 49.

Normalization Engine

390699
<1 x #CPUs>
<1 x #CPUs>

BMC Atrium Core Console > Normalization > Configuration Editor > System Configuration > CMDB RPC Queue

BMC Atrium Core Console > Normalization > Configuration Editor > System Configuration > Threads and Connections

Normalization Engine AR RPC Queue

390621 
<1 x #CPUs>
<1 x #CPUs>

BMC Atrium Core Console > Normalization > Configuration Editor > System Configuration > RPC Queue

This plugin automatically sizes itself based on the number of available threads in the defined RPC Queue.

Note: If Normalization Engine is the only component configured to run on one of the AR servers in server group, then it is recommended not to use private queue for it.

Business Rule Engine

390625 1 2

BR-RPC-Socket: 390625

Single threaded.

Note: For single threaded plug-ins, set the number of queue threads to be a maximum of 2. This makes sure that if one thread takes too long and times out, the plugin can connect back in on the second available thread.

Approval Server

390680 3 10    

Approval-RPC-Socket: 390680

Approval Server is multi-threaded and runs as a Java plug-in.

Go to Approval Administration Console > Server Settings > Basic > Thread Count to set the number of threads that the Approval Server uses. This is the ASJ-Thread-Count option in the AR System Administration: AR System Configuration Generic UI form. Set Private-RPC-Socket: 390680 to match this number.

For example, set the Thread Count to 5, and set Private-RPC-Socket: 390680 5 5. If you have other highly intensive clients using the same private socket, set Private-RPC-Socket to a higher number.

Reconciliation Engine

390698 
<1 x #CPUs>
<1 x #CPUs>

Set the RE-RPC-Socket, either through BMC Atrium Core Console > Applications > Reconciliation > Server Configuration Editor > RPC Socket or using the AR System Administration: AR System Configuration Generic UI form.

Reconciliation Engine automatically detects and uses the number of threads available in this queue.

Note: BMC recommends that you use 390698 as the queue number since this queue is used out-of-the-box. If Reconciliation Engine is the only component configured to run on one of AR servers in server group, then it is recommended not to use private queue for Reconciliation Engine.

AREA-LDAP

 4    12

Plugin-AREA-Threads (C-Plugin only)

ARDBC-LDAP

 4    12

Plugin-ARDBC-Threads (C-Plugin only)

DSO

Use any available private socket from the range:

390621-390634    

390636-390669    

390680-390694    

For a local server, go to AR System Administration Console > General > Server Information > Connection Settings > DSO Local RPC Program Number.

For a remote server, go to AR System Administration Console > General > Server Information > Connection Settings > DSO Server Setting Table.

Developer Studio > DistributedPools > Create new pool
Each pool is a single thread.

Note: Define the DSO Mappings to use a specific pool number otherwise the first pool number is used.

Plugin Loopback Socket390626 5 5

Set Plugin-Loopback-Socket: 390626 in the AR System Administration: AR System Configuration Generic UI form.

Some plug-ins automatically use the Plugin-Loopback-Socket, if they are not defined for a specific RPC queue.

This is the default socket that many plug-ins use, if they are not configured for a specific RPC socket.

C plug-ins

For any component that runs as a C plug-in, consider the number of fast, list, escalation, private threads that are likely to communicate simultaneously with the particular type of plug-in (AREA, ARDBC, Filter API) and set the appropriate option in the AR System Administration: AR System Configuration Generic UI form (Plugin-AREA-Threads, Plugin-ARDBC-Threads, and Plugin-Filter-API-Threads).

For example, suppose 4 escalations run on 4 separate escalation pools run nightly, and 10 list threads might access the ARDBC LDAP plug-in. In this case, you might need as many as 14 Plugin-ARDBC-Threads. If most users are not accessing the LDAP data during the time that the escalations run and only 20% of the user activity is likely to access the ARBDC-LDAP vendor form, then you might choose to set Plugin-ARDBC-Threads to 2 6.

You can set different minimums and maximums at first, and then monitor the plug-in log to see if more than the minimum threads are being used. Then you can target a value to use for both the minimum and maximum.

Java plug-ins

For any component that runs as a Java plug-in, you can configure the Java plug-in server to use a specific number of threads by adding the following parameter to the AR System Administration: Plugin Server Configuration form.

<numCoreThreads>12</numCoreThreads>

Since there is not a minimum and maximum, set this value to the value that would provide maximum performance without consuming too many resources. For example, the Full Text Search (FTS) engine runs in a Java plug-in server that does not service any other plug-ins. So, if 12 list threads are likely to access the FTS engine simultaneously, set this value to 12.

The Java Heap size can be manually set for each Java plug-in server. From the armonitor configuration file, locate the line that calls the specific Java instance that you want to configure. By looking at the --classpath parameter, you can identify the purpose for each Java instance. The Xmx parameter can be set to indicate the maximum size for the Java Heap. For example, "C:\Program Files\Java\<JDK_version>\bin\java" -Xmx512m --classpath sets the limit to 512 MB.

BMC Atrium CMDB thread sizing

BMC Atrium CMDB normalization and reconciliation processing are CPU intensive. By default, CMDB processes are executed using fast and list threads. Private queues allow you to restrict how much CPU is used by CMDB processes.

Normal day-to-day CMDB processing should not consume more than 20% of AR System server CPU capacity. The goal is to obtain optimal throughput for CMDB processing while not sacrificing response time for the users who are doing online transactions.

Configure a private queue with minimum and maximum thread settings of one times the number of CPU cores as the starting values. Adjust the thread settings based on the BMC Atrium CMDB workload, online workload, and thorough performance testing.

FTS thread sizing

The standard AR System server installation establishes a private queue for the FTS component. The default and recommended thread setting is 2, 2 for minimum and maximum threads on 390602. Consider adjusting this setting upward if there is a backlog of entries to be indexed. This is most likely to happen during an initial index build or an index rebuild.

BMC Remedy Email Engine

You can configure and tune BMC Remedy Email Engine parameters to optimize outgoing email performance.

By default, outgoing email is set to use 4 threads by all outgoing mailboxes. This is sufficient if the outgoing email load is not heavy and you do not need emails sent quickly. However, if your Email Engine is installed on a system that is separate from the AR System server, you should configure for more outgoing email threads to allow for faster performance.

The number of sender threads can have a maximum value of 20. You can lower this setting if the Email Engine consumes more CPU cycles than you want. For example, if the email server is located with the AR System Integration Server, then allow some room for the AR System Integration Server to process other workloads during production hours. To change the number of sender threads, edit the following options under the com.bmc.arsys.emaildaemon component Name in the Centralized Configuration: 

com.bmc.arsys.emaildaemon.NumberOfSenderThreads=20
com.bmc.arsys.emaildaemon.MailboxPollingUnitIsMinutes=false

In the AR System Email Mailbox Configuration form for outgoing mailbox configuration, you can also set the polling interval to be in seconds and indicate the number of seconds. This value indicates how often the Email Engine looks for AR Email Messages to process.

Incoming email uses one thread per incoming mailbox and cannot be changed. If you have changed the mailbox polling units to seconds, then you must also indicate the polling value for incoming mailbox. This value indicates how often the Email Engine looks for entries in your email server.

390621 - 390634     

390636 - 390669     

390680 - 390694     

Related Topics

Defining queues and configuring threads

Private queues for loopback calls

Was this page helpful? Yes No Submitting... Thank you

Comments