R4J 4.6.x vs 4.7.x performance benchmark results

Background

The tree loading and filtering performance was benchmarked between R4J 4.6.x and R4J 4.7.x, where the tree data model has been optimized. Based on the results, R4J 4.7 provides remarkable results for the tree.

Server Specifications

  • CPU: 8 Cores

  • Memory: 16GB

  • Disk: 750GB

  • Jira Version: 8.13.7

  • Database: PostgreSQL 10.12

Archived Issues (Total)

0

Archived Projects

0

Attachments

1.999.999

Comments

6.051.422

Components

2.500

Custom Fields

817

User Groups

1.025

Individually Archived Issues

0

Issue Security Levels

10

Issue Types

341

Issues

1.449.184

Issues In Archived Projects

0

Priorities

5

Projects

516

Resolutions

34

Screen Schemes

203

Screens

205

Statuses

417

Users

21.003

Versions

20.000

Workflows

82

Test Results

All values are approximated.

Sub-measure ID

Operation

%

Observations

Sub-measure ID

Operation

%

Observations

Tree Loading

TL #1

Load tree with 200 Items

25%

Loading has improved significantly for large trees being up to 68% faster in R4J 4.7 than in lower versions.

For a tree (or a folder) with about 800 issues, the time dropped from an average of 30 seconds to 20 seconds. This includes the transfer of the data from your server to the client and rendering in your browser.

TL #2

Load tree with 400 Items

45%

TL #3

Load tree with 800 Items

68%

TL #4

Load tree with 1.200 Items

67%

Tree Filtering - Basic Filter

TFB #1

1.000 issues under root

71%

Basic filtering is up to 72% faster in R4J 4.7.

In previous versions, the R4J JQL functions requirementsPath() and requirementsFolder() affect the data retrieval response time. This issue is resolved in R4J 4.7 as seen in results from TFB #2 and TFB #3 compared with the other results that do not use these R4J JQL functions.

Results are retrieved and rendered at an average of 15 seconds for each of the measured operations when using the said R4J JQL functions in a Jira filter, where in lower versions, it would take minutes or cause timeouts.

TFB #2

1.000 issues recursively under root and sub-folders using requirementsPath()

72%

TFB #3

1.000 issues in folder 10 levels deep in hierarchy that using requirementsFolder()

72%

TFB #4

1.000 child requirements in folders 5 levels deep in hierarchy that satisfy filter

71%

TFB #5

100 issues in root and other folders

71%

Tree Filtering - Advanced Filter

TFA #1

1.000 issues under root

92%

Advanced filtering is up to 97% faster in R4J 4.7.

Results are retrieved and rendered at an average of 5 seconds for each of the measured operations when using the said R4J JQL functions in a JQL query input field, where in lower versions, it would take minutes or cause timeouts.

 

TFA #2

1.000 issues recursively under root and sub-folders using requirementsPath()

79%

TFA #3

1.000 issues in folder 10 levels deep in hierarchy that using requirementsFolder()

80%

TFA #4

1.000 child requirements in folders 5 levels deep in hierarchy that satisfy filter

96%

TFA #5

100 issues in root and other folders

97%