This documentation supports the 9.0 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 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.

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

Full-Text Search Engine

390602

In the AR System Administration: AR System Configuration Generic UI form, comment out the parameter for Private-RPC-Socket: 390602, if it exists. Because of this, the Full-Text Search Engine uses a single thread, which is recommended in most cases.

In the AR System Administration: Plugin Server Configuration form, enter the following setting: 
: 10

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 of2. 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 2 6

Open the CAI Plug-in Registry through Application Console > 
Customer Configuration > Foundation > Advanced Options > 
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 Configurationsection, 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

390685 4 6

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, 390685.

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

For example: Private-RPC-Queue: 390685  2  4

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 theAtriumInstallDirectory/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 Advancedtab 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.

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 of2. 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

For versions prior to 8.0, Approval server is single-threaded. Set 390680 1 2.  

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

For version 8.0 and later, 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 theASJ-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 Countto 5, and setPrivate-RPC-Socket: 390680 5 5. If you have other highly intensive clients using the same private socket, setPrivate-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.

AREA-LDAP

Plugin-AREA-Threads (C-Plugin only)

ARDBC-LDAP

 

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.

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. 

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\jre6\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 thread setting is 1 for minimum and maximum. 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 in the EmailDaemon.properties file:

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

  1. Andreas Mitterdorfer

    FTS thread sizing

    states:

    The default thread setting is 1 for minimum and maximum. 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.

     

    In Case 00129941 we came to know that this is considered incorrect as FTS queue should be single threaded only.

    Please can you crosscheck and verify?

     

    Apr 26, 2016 03:57
    1. Amit Durgapal

      Hello Andreas, 

      Can you help me with the name of the contact from BMC working with you on the said case because I couldn't pull up the issue using CAS00129941?

      Regards,

      Amit

      May 03, 2016 02:04
    1. Amit Durgapal

      Hi Andreas,

      We are in the process of preparing a recommendation around this for the latest versions. While we are testing this, you may rely on recommendation from Support. We also encourage you to contact Customer Support to raise a ticket for putting together these recommendations.

      Regards,

      Amit

      May 16, 2016 06:53
  2. Andreas Mitterdorfer

    Hi Amit,

    Uday Vardhan was working on the case.

    Br,

    Andreas

    May 03, 2016 02:07
    1. Amit Durgapal

      I have initiated a discussion between Support and R&D. Will get back to you with a conclusive answer.

      Regards,

      Amit 

      May 03, 2016 03:24
      1. Andreas Mitterdorfer

        Hi Amit, please also correct following section:

        Configure the APPQUERY plug-in with the Plugin-Loopback-RPC-Socket user-defined element ...

        is incorrect.

        You have to use Private-RPC-Socket user defined element to configure the private queue for appquery plugin.

        Please refer to 00257334 which I had open to clarify this.

        Dec 15, 2016 01:41
  3. Stefan Hall

    FTS 390602 - "comment out the parameter" means deleting this setting from current config.

    Elsewhere BMC recommend min 1 max 2 for 390602. What is the best for v9.1?

    Sep 12, 2016 03:07
  4. Stefan Hall

    Question 2: <1 x #CPUs> synonymous for pCPU and vCPU?

    Question 3: where can I set the parameter for business rule engine "BR-RPC-Socket: 390625"

    Question 4: Assigment Engine seems not correct, please take a look at https://docs.bmc.com/docs/display/public/ars91/Configuring+the+Assignment+Engine+server+settings
    AE-RPC-Socket setting is now obsolete and is cannot be modified using the ar.cfg file or AR System Configuration Generic UI form.

    What does it mean for our system? 3 Threads seems ok, but an RPC is no longer needed for Assignment?

    Sep 12, 2016 03:10
    1. Amit Durgapal

      Hello Stefan,

      Extremely sorry about the delay in response despite your repeated reminders. I have answers to some of your questions. Checking with SMEs for answers to the rest.

      A2: <1 x #CPUs> denotes virtual CPU

      A3: You can add BR-RPC-Socket: 390625 in Centralized Configuration (BMC Remedy AR System Administration Console > System > General) under the com.bmc.arsys.server component type. At the bottom of the page, click Add. A new row is created. Start typing the details. Please ensure that you fill in the details correctly.

      A4: You are right. AE-RPC-Socket setting is now obsolete.

      Sorry again.

      Regards,

      Amit

      Nov 03, 2016 07:19
  5. Stefan Hall

    Any Updates?

    Sep 20, 2016 12:14
  6. Stefan Hall

    Hello, can you verify the given infromation,pleae

    Sep 26, 2016 02:11
  7. Stefan Hall

    push (smile)

    Oct 04, 2016 02:32
  8. Stefan Hall

    Hello,

    can I please you to be a bit more specific add

    • Email Engine - where to configure ...
      It seems possible via centralized config, but without <server>
    • Email Engine at page bottom
      "outgoing email is set to use 4 threads" above at table row
      "The number of threads connecting to the AR System server is equal to the number of enabled mailboxes"

    I'm a bit confused (smile)

    2. FTS

    FTS 390602 - "comment out the parameter" means deleting this setting from current config.
    Elsewhere BMC recommend min 1 max 2 for 390602. What is the best for v9.1?

    Nov 14, 2016 05:42
  9. Andreas Mitterdorfer

    Configure the APPQUERY plug-in with the Plugin-Loopback-RPC-Socket user-defined element ...

    is incorrect.

    You have to use Private-RPC-Socket user defined element to configure the private queue for appquery plugin.

    Please refer to 00257334 which I had open to clarify this.

    Dec 14, 2016 06:09
    1. Stefan Hall

      Unfortunately it seems I've no access to case 00257334. Private-RPC-Socket is an additional task after configure configure the APPQUERY plug-in?

      Dec 14, 2016 03:11
      1. Andreas Mitterdorfer

        In 9.x versions the Private-RPC-Socket user defined parameter is already set in pluginsvr_config.xml. I think the installer is doing this and also adding the private queue entry on server side.

        I made the comment so that the documentation could be fixed rather than answering to your comment, sorry for the inconvenience. I'll add it as reply to Amit aswell.

        Dec 15, 2016 01:41
        1. Amit Durgapal

          Hi Andreas,

          I have made the change indicated in your previous comment. Thanks for helping us improve our documentation.

          Regards,

          Amit  

          Dec 26, 2016 05:20