This documentation supports the 22.1 version of BMC Service Level Management.To view an earlier version, select the version from the Product version menu.

Configuring separate thread pools for escalations


By default, escalations on the AR System server run on a single thread. In high volume environments, this configuration can cause BMC Service Level Management (Service Level Management) escalations to be delayed, or not trigger at all, which adversely affects the timely update of Service Level Management data. If you determine that these escalations are not firing at the appropriate interval, you can assign them to their own thread pool. After putting an escalation into a thread pool, monitor the performance to ensure that the escalation triggers at the proper interval. This list shows the Service Level Management escalations:

Related topics

  • SLM:EventSchedule:TAD_PollingEscalation
  • SLM:ConfigReviewPeriod:Check
  • SLM:EventSchedule:TAD_PollingEscalation_Compliance
  • SLM:EventSchedule:TAD_PollingEscalation_InvalidateMeasurement

Best practice
We recommend that you put the SLM:EventSchedule: TAD_PollingEscalation escalation in a separate pool to ensure timely execution of the related workflow. We also recommend that you configure the following escalations to run together in a separate escalation pool:

  • SLM:ConfigReviewPeriod:Check
  • SLM:EventSchedule:TAD_PollingEscalation_Compliance
  • SLM:EventSchedule:TAD_PollingEscalation_InvalidateMeasurement

For more information about these recommendations, see KA301939.

  • You can opt for maximum number of threads for an escalation queue as two times the number of CPUs. In highly dense environment, we recommend to use the number of threads as number of escalation pool used + 1. For example, if you are using 10 pools for an escalation, we recommend using 11 threads, as one thread is required for the common pool. For this, you might need to increase the CPU core so that each thread gets an appropriate CPU time.

To set up a separate Service Level Management thread pool for escalations

  1. Open the AR System Administration Console.
  2. Select System > General > Server Information.
  3. Select Ports and Queues.
  4. In the Server Queue section, select the escalation RPC program number 390603.
  5. Increase the Max Threads by 1 for each additional escalation pool (you need two new escalation pools).
  6. Click OK.
  7. Start the Developer Studio.
  8. Open each of theService Level Management  escalations listed, and associate them with the same escalation pool number (for example, 1).
    1. Open the TAD escalation, and associate it with one of the two new escalation pools that you created.
    2. Open the remaining three escalations listed, and associate each escalation with the two new escalation pools that you created.
  9. Save each escalation, and close the Developer Studio.
  10. Restart AR System server for the change to take effect.

To enable escalation pooling for the SLM:EventSchedule:TAD_PollingEscalation

  1. In the AR System Administration Console, add another thread to the escalation queue.
    The default is 1 minimum and 1 maximum (you must increase the maximum by one).
  2. Start Developer Studio, select the escalations, and sort by the Pool Number column to identify what escalations are already configured in which escalation pool.
  3. Open SLM:EventSchedule:TAD_PollingEscalationand set the pool number to the appropriate number.

    Important

    By default, all escalations run in escalation pool 1. The number of the escalation thread corresponds to the escalation pool. For example, if you increase escalation threads to 2 maximum, there is an escalation pool 1 for the first thread and an escalation pool 2 for the second thread. If an escalation is placed in a pool for which there is no corresponding escalation thread, it runs in escalation pool 1. For example, increasing the escalation threads to 2 maximum but placing the escalation in pool 3 has no change, and the escalation runs in pool 1.