Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
Overview

...

Ticket:

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-627

...

  • Load tests showed that there is no significant influence of check-out lock on performance of the application.
  • Average response time of check-out request is about 0.5s (level of load - 6.6 requests/minute).

Recomendations and Jiras

It would be usefull to implement some additional monitoring for the check-out lock feature. It can include such metrics as number of locks accross the users, locking history and rate of locking to closely monitor it for performance implications.

Test runs

ScenarioLevel of loadConfigurationResponse time averageResponse time 95perc
Check-out API

10 virtual users, 20 requests each (during 30 minutes).

Overal load - 6.6 requests/minute

Check-out lock enabled*0.5582.152
Check-out lock disabled0.5130.556

100 virtual** users, 20 requests each (during 30 minutes).

Overal load - 66 requests/minute

Check-out lock enabled*0.3790.476
Check-out lock disabled0.3360.391

...

  • "noOfRetryAttempts" - 30
  • "retryInterval" - 250
  • "lockTtl" - 2000

**Tests were repeated with higher level of load (66 requests/minute) to ensure that there are enough data points for statistics and results are accurate.

Test results

Check-out lock enabled

...

Check-out lock enabled

Check-out lock disabled


Additional Information

In order to make sure that check-out lock work correctly, next requests were found in logs during load tests with check-out lock enabled:

Image Added

At the screenshot we can see that lock is being created in check-out-lock-storage and then deleted almost at the same moment. Deletion of lock happens when check-out for item is done.

Appendix

Infrastructure

PTF -environment pcp1

  • 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
  • 1 database  instances, writer

    NameAPI NameMemory GIBvCPUsmax_connections
    R6G Extra Largedb.r6g.xlarge32 GiB4 vCPUs2731


  • MSK ptf-kakfa-3
    • 4 m5.2xlarge brokers in 2 zones
    • Apache Kafka version 2.8.0

    • EBS storage volume per broker 300 GiB

    • auto.create.topics.enable=true
    • log.retention.minutes=480
    • default.replication.factor=3

...