Steps to Improve JSM Automation & SLA Performance in Data Center

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

In Jira Service Management, Automation and SLA processing might become slow due to the characteristics of the Jira subsystem used to process such events named PSMQ.

You may notice one or more of the following items are true:

  1. Automation processing or SLA calculation is slow. For example, it takes a long time for customers to receive updates via email, or when a ticket is transitioned, it takes a long time for the SLAs on the right side of Jira.

  2. High database activity against database tables AO_319474_QUEUE  and AO_319474_MESSAGE.

  3. When you take Thread Dump, you notice groups of threads starting with the following names that are mostly RUNNABLE over time  - SdOffThreadEventJobRunner , SdSerialisedOffThreadProcessor , PsmqAsyncExecutors-job.

Diagnosis

The following indicators can be used to determine if there is contention with the PSMQ system:

Cause

PSMQ is a database backed message system. Thus there are a number of variables that go into its performance:

  • The amount of events (such as issue edits, comment added, etc) occurring in Jira. This is primarily based on user load.

  • The performance capacity of the database to store messages for these events and provide them back to Jira.

  • The performance capacity of Jira to consume events.

This knowledge-base article explores how to determine why PSMQ is not performing as expected and some potential avenues to resolve it.

SLA calculation performance also depends on the JQL complexity of SLA's, and, the number of SLAs present in the system. Before proceeding, consider whether your environment has exceeded any of the documented Jira Service Management guardrails.

Solution

The following avenues can be pursued:

  • Reduce SLA count and complexity, if limits in Jira Service Management guardrails are exceeded.

  • Upgrade to JSM version 5.2.0 or later.

    • Significant performance increases were shipped in 4.21.0, and again in 5.2.0.

  • If the database is not contented, you may increase the SLA processing thread pool size. For JSM 5.1.0 and above, see "Configure thread processing" in this article. For older versions, adjust the properties. sd.event.processing.async.thread.pool.count  and sd.event.processing.serialised.thread.pool.count  using the solution in this article.

  • Identify the issues with the highest queue counts using the queries above and reduce the load on them if the activity continues, for example, in the case of an aggressive REST API integration.

  • Increase the performance of the database.

  • Monitor the queue counts using the queries above and wait. The load may reduce by itself.

For assistance, you may reach Atlassian Support at https://support.atlassian.com/contact.

Updated on March 19, 2025

Still need help?

The Atlassian Community is here for you.