Versions Compared

Key

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

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

...

There are two types of calls, and the only difference is in "metadataPrefix" which can be "marc21" or "marc21_withholdings".  Each of these calls may have a "startDate" parameter.

Backend

  • mod-oai-pmh:3.2.2, mod-oai-pmh:3.2.4
  • edge-oai-pmh:2.3.0
  • mod-inventory-storage:19.4.3
  • okapi:4.2.2

...

  • 61 back-end modules deployed in 110 ECS services
  • 3 okapi ECS services
  • 8 m5.large  EC2 instances
  • 2 db.r5.xlarge AWS RDS instance (1 reader, 1 writer)
  • 1 mod-oai-pmh ECS services (to easy troubleshoot)
  • INFO Okapi logging level
  • Load balancer timeouts increased to 4000 seconds.
  • nginx timeouts extended to 3600 seconds.

Summary

"marc21" metadataPrefix working much faster than "marc21_withholdings" . Few basics numbers about both matadataPrefix :

1) marc21 metadataPrefix:

  • Response time for both tests (including start date and without it) is 6.5 - 6.6 seconds on 75%/95% percentiles;
  • mod-oai-pmh CPU usage did not grow higher than ~30%. (usually it not higher than 15%);
  • Other modules didn't show visible RAM usage. Ram usage of OAI_PMH was near 110 -119 %;
  • RDS CPU usage usually stay on 15 % rate. 

...

  • The <tenantId>_mod-oai-pmh.instances table is filled up with records. When the number of records approaches 40M, a call [oai?verb=ListRecords&metadataPrefix=marc21_withholdings&apikey=${APIKey}&start=${Date}] that used to take 7 minutes now takes longer than 40 minutes.
  • After several runs (5-7), the oai-pmh calls take longer than 20 minutes even though the instances table is empty. mod-pubsub needs to be restarted for it to return results within 7 minutes again.
RequestAverage (minsec)75th %tile (minsec)95th %tile (minsec)Request Rate (RPS)note
/oai?verb=ListRecords&metadataPrefix=marc21&apikey=<apiKey>6.5626.5926.6610.15
/oai?verb=ListRecords&metadataPrefix=marc21_withholdings&apikey=<apiKey>452.200483.202495.3250.002
/oai?verb=ListRecords&metadataPrefix=marc21&apikey=<apiKey>&start=<date>6.5666.5926.6340.15
/oai?verb=ListRecords&metadataPrefix=marc21_withholdings&apikey=<apiKey> &start=<date>521.345530.289539.2000.002
/oai?verb=ListRecords&metadataPrefix=marc21_withholdings&apikey=<apiKey> &start=<date>462.685471.778485.8820.002Truncated mod_oai_pmh.instances table



Please Note: that on ptf env. getaway timeout value on public load-balancer was increased from 400 to 4000 seconds. While default value on our prod env. is 400 seconds, calls that includes marc21_withholdings metadataPrefix won't work and will fail with 504 "Getaway Timeout".

...

Test

Virtual Users

RequestDuration (sec)Version OAI_PMHNotes
11GET https://<edge_url>/oai?verb=ListRecords&metadataPrefix=marc21&apikey=<apiKey>1800mod-oai-pmh:3.2.2
21GET https://<edge_url>/oai?verb=ListRecords&metadataPrefix=marc21_withholdings&apikey=<apiKey>1800mod-oai-pmh:3.2.2
31GET https://<edge_url>/oai?verb=ListRecords&metadataPrefix=marc21&apikey=<apiKey>&start=<date>1800mod-oai-pmh:3.2.2
41GET https://<edge_url>/oai?verb=ListRecords&metadataPrefix=marc21_withholdings&apikey=<apiKey> &start=<date>1800mod-oai-pmh:3.2.2
51GET https://<edge_url>/oai?verb=ListRecords&metadataPrefix=marc21_withholdings&apikey=<apiKey> &start=<date>1800mod-oai-pmh:3.2.4Truncated _mod_oai_pmh.instances table
611800mod-oai-pmh:3.2.4Truncated _mod_oai_pmh.instances table71GET https://<edge_url>/oai?verb=ListRecords&metadataPrefix=marc21_withholdings&apikey=<apiKey>1800mod-oai-pmh:3.2.4Truncated _mod_oai_pmh.instances table811800mod-oai-pmh:3.2.4Truncated _mod_oai_pmh.instances table


Detailed Results

Test 1

RequestTotal callsMin (sec)50th pct (sec)75th pct (sec)95th pct (sec)99th pct (sec)Max(sec)
/oai?verb=ListRecords&metadataPrefix=marc21&apikey=[APIKey]2835.3076.5626.5926.6616.7799.683

...

Service Memory usage:





DB CPU usage:





Test

...



RequestTotalMin50th pct75th pct95th pct99th pctMax
/oai?verb=ListRecords&metadataPrefix=marc21_withholdings&apikey=[APIKey]5401.649431.011433.710435.981435.981435.981

...