Skip to end of banner
Go to start of banner

[Poppy] List App with multiple workflows and R/W split enabled test report

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Overview

This document contains the results of testing List App refreshing of 200k records with multiple parallel workflows (Check-in/Check-out and Data import) and R/W split enabled in the Poppy release. The goal of testing is to assess the performance of mod-lists along with other workflows (CICO and DI) and R/W split enabled  and to measure mod-lists's impact on other modules

Ticket:

PERF-708 - Getting issue details... STATUS

Summary



Test runs

Query used in lists - "Item status != Available". List refresh result is 200K records.

Scenario

Data quantity

List App + Check-in/Check-out + Data Import Create*

ListApp - 10 users

CICO - 20 users

DI - 25k

 Check-in/Check-out + Data import*

CICO - 20 users

DI - 25k

List AppListApp - 10 users

*PTF Create 2 job was used for DI scneario

Results

TransactionDuration
 R/W split disabled R/W split enabled

Testing separately

(ListApp and DI+CICO)



Testing in parallel


Testing separately

(ListApp and DI+CICO)

Testing in parallel

ListApp refresh, avg8.5 min17.7 min7.5 min (-1 min)11.4 min (-6.3 min)
Check-in, avg1.173 sec1.290 sec0.992 (-0.181 sec)1.087 (-0.203 sec)
Check-out, avg1.648 sec1.948 sec1.634 (-0.014 sec)1.765 (-0.183 sec)
DI Create 25k 18 min22 min13 min (-5 min)15 min (-7 min)

Grafana results

DI + CICO

ListApp + DI + CICO

Service CPU Utilization

According to the results, maximum CPU utilization for DI + CICO test is about 126%, while with ListApp scenario added CPU reaches 150%.

CPU utilization of mod-lists and mod-fqm-manager for ListApp+DI+CICO test is up to 140% with R/W split enabled, while it reaches only 105% with R/W split disabled. Report for comparison can be found here: [Poppy] List App with multiple workflows and R/W split disabled test report.

ListApp

DI + CICO

ListApp + DI + CICO

Memory Utilization

No memory leaks were found during the tests.

ListApp

DI + CICO

ListApp + DI + CICO


DB CPU Utilization

RDS CPU utilizatoin is about 95% for DI+CICO test and it doesn't increase with ListApp scenario added.

ListApp

DI + CICO

ListApp + DI + CICO


DB Connections

ListApp

DI + CICO

ListApp + DI + CICO

DB Load

ListApp

Reader instance

Writer instance

DI + CICO

Writer instance

ListApp + DI + CICO

Reader instance

Writer instance


Appendix

Infrastructure

PTF -environment pcp1

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

    NameAPI NameMemory GIBvCPUsmax_connections
    R6G Extra Largedb.r6g.xlarge32 GiB4 vCPUs2731
  • MSK tenant
    • 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


Module
pcp1-pvt

Task Def. Revision

Task Count

Mem Hard Limit

Mem Soft limit

CPU units

Xmx

MetaspaceSize

MaxMetaspaceSize

R/W split enabled

mod-inventory-storage:27.0.01024096369020483076384512false
mod-users:19.2.0192102489612876888128false
nginx-okapi:2023.06.14821024896128000false
mod-circulation-storage:17.1.01022880259215361814384512false
okapi:5.1.193168414401024922384512false
mod-inventory:20.1.0922880259210241814384512false
mod-circulation:24.0.01022880259215361814384512false
pub-okapi:2023.06.1482102489612876800false
mod-fqm-manager:1.0.052102489612876888128true
mod-lists:1.0.052300026001282048384512false


Additional info

Grafana graphs:

List App + Check-in/Check-out + Data Import Create

http://carrier-io.int.folio.ebsco.com/grafana/d/elIt9zCnz/jmeter-performance-with-average-latency?orgId=1&var-percentile=95&var-test_type=baseline&var-test=circulation_checkInCheckOut_Poppy_2&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All&var-Request=All&from=1699353475555&to=1699354950119

Check-in/Check-out + Data import

http://carrier-io.int.folio.ebsco.com/grafana/d/elIt9zCnz/jmeter-performance-with-average-latency?orgId=1&var-percentile=95&var-test_type=baseline&var-test=circulation_checkInCheckOut_Poppy_2&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All&var-Request=All&from=1699290758840&to=1699291480510


Methodology

  1. Enable R/W split for mod-fqm-manager.
  2. Create 10 lists with the query "Item status != Available" on each of three tenants to be able to run a test for up to 30 concurrent lists.
  3. Prepare 200K item records for the query to return. Details can be found at the link: Steps for testing process#ListApp
  4. Conduct test with ListApp scenario

  5. Conduct test with ListApp scenario + CICO + DI

  6. Conduct test withCICO + DI scenarios

  7. Compare the results



  • No labels