Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Jira Align - Much Faster Dials on 3 Work Tree Views

WorkTree Dials.png

Work Tree Report is among the most popular ones for understanding the structure of work and progress accomplished.

The Jira Align team has been improving performance on the Work Tree reports by focusing on the load times for the progress dials on the page. Changes to the dials were released in version 10.116.0.

In addition to the initial performance tests that check initial load times, we also have been performing head-to-head comparisons with old queries being executed sequentially (old SQL stored procs) vs. a new asynchronous approach using APIs. In this article, I’ll describe the test data prep and outcomes of these comparisons.

Background

  • According to the Work Tree performance analysis in the previous iterations, we decided to redesign the code instead of using updated SQL stored procedures.

  • We refactored SQL queries and ran new queries asynchronously using API calls.

Synthetic Database

UI Performance dataset.png

  • The list of objects:

    • 1 portfolio

    • 2 solutions

    • 5 programs

    • 10 Agile teams in each program (total: 50)

    • 5 Team members in each team (total: 250)

    • 5 PIs assigned for all programs (4 completed, 1 In progress)

    • 7 sprints for each PI and team (total: 1750)

    • 2 release vehicles for each PI

    • Snapshot assigned to 5 PIs

    • 1 goal for each program per PI (total: 25)

    • 1 theme for each team per PI (total: 250)

    • 2 epics for each team per PI (total: 500)

    • 4 capabilities for each team per PI (total: 1000)

    • 2 features for each team per sprint (total: 3500)

    • 7 stories for each team per sprint (total: 12250)

    • 15 tasks for each team per sprint (total: 26250)

    • 3 defects for each team per sprint (total: 5250)

    • 1425 objectives:

      • 5 portfolio objectives per PI (total: 25)

      • 10 solution objectives per PI - 6 and 4 for each solution (total: 50)

      • 20 program objectives per PI - 4 for each program (total: 100)

      • 250 team objectives per PI - 5 for each team (total: 1250).

    • 16 risks for each program per PI (total: 400).

    • 1 dependency for each team per PI (total: 250)

Performance measurements for work tree views: before and after

For performance measurements, we used the JMeter tool with a Microsoft SQL server connector.

Setup of the system under test:

  • Intel Core i7-105010U

  • 16GB RAM

  • SSD 256GB (Micron Technology)

  • Windows 10 Enterprise

  • MS SQL Server 2019

Resource utilization

Microsoft Perfmon was used for monitoring the system under test. During the testing process, no increase in CPU/memory/IO consumption was detected.

Simulation description

In the left column of the table below, the existing stored procedures were executed sequentially as it reflects the current execution and processing flow.

In the right column, the new queries were executed in parallel (asynchronously).

Results of performance measurements

WTree Exec. time ms Comparison.jpg

API Call Improvements.png

Overall, we observed improvements in execution speed from -38% to -92% on the three views that were being worked on, which is a great achievement for the product and for work tree performance in general.

Production data analysis: before and after to capture the impact

Jira Align constantly tracks the P90 latency for the most often used pages - that’s how we know the experience of the 10% of all calls that sometimes can take longer than expected. Below is the anonymized data for June 2022 on the Work Tree report P90 response time of five big clients:

WorkTree Before Changes.png

Notice the spikes that were above our 7-second threshold for the worst 10% of cases. That’s what we aimed to fix with the new approach.

The teams worked on a solution that would enable Work Tree users to get their data faster and allow first interactions much sooner than before. In the graph below you can see the result: in early January 2023, Jira Align released version 10.116.0 where all the changes were applied. This led to a great reduction in outliers and spikes higher than our target values for P90 response time:

Work Tree After Changes 1.png

The green rectangle shows the time period when Work Tree changes were deployed. Users started observing much faster loading times than before.

We also gathered the response time of P99 (1% of worst cases) on production data. The chart below also shows more stable and predictable loading times starting from January 2023 when the fix was introduced:

Work Tree After Changes 1.png.png

The duration of WorkTree Response in ms.

This project was one of many that aim to improve the user experience and speed of the Jira Align application, and we’re happy to provide our community with reliable and performant tools.

2 comments

Rich Sparks
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 17, 2023

Thanks for the excellent explanation of the work the team has done, @Roman Koshovskyi . It is great to see how much improvements you're making.

Like Roman Koshovskyi likes this
Roman Koshovskyi
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 19, 2023

Thank you, @Rich Sparks, there's always more to optimize for, but the team is definitely glad to capture some fresh wins for our end users.

Like Richard Wilson likes this

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events