Apps documentation
Queues for Jira Service Desk
Server/Data Center Cloud
Queues for Jira Service Desk

Server/Data Center

Cloud

Guides
FAQ
Last updated Mar 6, 2019

FAQ

How to improve the Jira performance by reducing the Queues load?

It’s possible to control performance parameters by changing its properties in exported .json file.

Steps

  1. Export queues to .json file as in the instruction.
  2. Open exported file.
  3. Add target property performance:

    Note
    Make sure that "performance" is on the same level as "queues".

    "performance": {   
     "queueCountRefreshOn": true,  
     "queueCountNotUpdatedRefreshRateMs": 5000,  
     "queueCountLeastUpdatedRefreshRateMs": 10000,  
     "queueCountCacheExpireTimeoutMs": 300000,  
     "openQueueRefreshRateMs": 20000  
    },  
    

    **

    Note
    It’s not mandatory to add all property parameters to .json file.

  4. Import updated .json file.

  5. Refresh the page.

Result

Version of the file has changed. Property performance will be read from a new version.

**
How it works?

If you meet the problem with Jira performance, you may need to change some of the default parameters which our app uses.

In order to preserve data that otherwise would be lost after you refresh the page, we use LocalStorage to store information for each queue about how many issues are in the queue and when those issues were last counted.

After each refreshing a page with queues, the total number of issues in each queue is uploaded from the LocalStorage.
Those values are uploaded only when the timeout (in miliseconds) from queueCountCacheExpireTimeoutMs property has not expired. If the time passed, it means that the value from the LocalStorage is no longer up-to-date therefore it won’t be displayed. The total number of issues in these queues will have to be counted anew.

Warning

Be careful with increasing queueCountCacheExpireTimeoutMs, because the higher it is, the higher risk that those values are no longer up-to-date.

The most expensive operation is to display the total number of issues in each queue on the list of queues.

To decide whether queues list should be refreshed or not, you can change the value of queueCountRefreshOn property to either true or false. This parameter implies whether the following properties are enabled.

The queueCountNotUpdatedRefreshRateMs property indicates time in which the algorithm searches for a queue whose total number of issues hasn’t been refreshed at all. Once all total numbers in queues have been counted (even if the queue is empty, which means the count is equal 0), the algorithm searches for a queue that hasn’t been refreshed the oldest using queueCountLeastUpdatedRefreshRateMs property and recalculates this number.

At the beginning, we recommend to increase these two properties twice in order to reduce number of requests sent by our app to Jira.

The openQueueRefreshRateMs property indicates the time in which the currently opened queue is refreshed.

Example

If you don’t want your queues list to be refreshed, type false in queueCountRefreshOn value. :


{
  "queues": 
    [/* yours queues config */],
  "performance": {           
        "queueCountRefreshOn": false
   },
  "version": "3.0"
}  
Example

If you want to extend the time for properties: “queueCountNotUpdatedRefreshRateMs” and “queueCountLeastUpdatedRefreshRateMs”, type target values as in example below:

  
  {
    "queues": 
      [/* yours queues config */],
    "performance": {     
          "queueCountRefreshOn": true,
          "queueCountNotUpdatedRefreshRateMs": 10000,
          "queueCountLeastUpdatedRefreshRateMs": 20000
     },
    "version": "3.0"
  }