OAI-PMH performance dependencies between CI/CO and data import
Summary
- The OAI-PMH has an influence on CI/CO response times - it worsen results up to 13%. DI worsens CI/CO results mostly with create job profile up to 55% with 1.000 records and up to 71% with 100.000 records. DI with update profile worsens CI/CO results less than create profile - up to 25% with 1.000 records and 36% with 100.000 records. OAI-PMH (incremental) duration was in range from 04:20 min till 05:20 min for all tests of DI with 1.000 records and without it. OAI-PMH duration calculation is described in Methodology/Approach section.
- For major services memory usage didn't exceed the level of 60%. The highest level was registered for mod-source-record-manager 107% and mod-inventory-b 98%. After tests for Scenario 1 it achieved its stable level and didn't change.
- Running OAI-PMH, DI and CI/CO simultaneously it has been shown that the environment can handle such load.
- CI/CO response times during DI and OAI-PMH has degradation depending on the profile that was used. It was a number of consequent DI operations (create and update job profiles).
- After 90 minutes of full harvest the growth of CPU utilization up to 188 % was observed for mod-oai-pmh-b. This increased CPU utilization lasted during 10 minutes. After it got back to steady state ( 5-7 % ).
- Service CPU Utilization at the beginning of DI mostly used by mod-di-converter-storage-b ( 253 % ), mod-inventory-b ( 172 % ), mod-quick-marc-b ( 108 % ). For the rest of modules it was under 70%. At the highest level it was mod-di-converter-storage-b ( 453 % ), mod-inventory-b ( 190 % ), mod-quick-marc-b ( 121 % ).
- RDS CPU Utilization during incremental harvesting didn't exceed 60 % for all DI job profiles (1.000 records). Data export took 40% But for full harvesting with DI Create job profile (100.000 records) it became instantly 96 % and stayed on this level major part of process. DI Update used up to 90%.
- All oai-pmh tests were executed by EBSCO Harvester in the AWS ptf-windows instance.
- During full harvesting (504) Gateway Timeout issue happened after all DI create and update were done so it didn't affect the results. It happened during all two Full harvesting runs with returned instances count ( during first OAI-PMH full - 1764989 records, second - 1166089 out of total 10433728 ).
Recommendations & Jiras
- Allocate more CPU resources to mod-di-convertor-storage and mod-inventory-b
Test Runs & Results
Data import duration and CI/CO response times with DI & OAI-PMH results
Test # | CI/CO 10 users | Scenario | Job profile | OAI-PMH only / instance amount | OAI-PMH + DI + CI/CO Duration | DI Duration | CI average | CO average | Load level | Comments |
Scenario 1 OAI-PMH incremental | 40 min | DI MARC Bib Create | PTF - Create 2 | 00:04:46 8000 | 00:05:18 | 00:00:48 | 0.961 | 1.398 | For scenario 1 1K (with pause ~5 min) | All incremental harvests were stopped manually after ~ 8000 instances |
DI MARC Bib Update | PTF - Updates Success - 1 | 00:05:14 8000 | 00:00:56 | 0.706 | 1.125 | |||||
DI MARC Bib Create | PTF - Create 2 | 00:05:11 8000 | 00:04:20 | 00:00:43 | 0.843 | 1.402 | ||||
DI MARC Bib Update | PTF - Updates Success - 1 | 00:04:24 8000 | 00:00:44 | 0.848 | 1.335 | |||||
Scenario 2 OAI-PMH full mode | 5 hours | DI MARC Bib Create | PTF - Create 2 | 1764989 | 04:42:20 | 00:53:30 | 1.078 | 1.545 | For scenario 2 100K (with pause ~5 min) | During scenario 2 full harvests stopped due to ERROR: Error saving an xml document: The remote server returned an error: (504) Gateway Timeout. |
DI MARC Bib Update | PTF - Updates Success - 1 | 01:04:38 | 0.725 | 1.231 | ||||||
DI MARC Bib Update | PTF - Updates Success - 1 | 01:05:48 | 0.69 | 1.249 | ||||||
5 hours | DI MARC Bib Update | PTF - Updates Success - 1 | 1166089 | 03:44:20 | 01:17:58 | 0.903 | 1.333 | |||
DI MARC Bib Update | PTF - Updates Success - 1 | 01:18:08 | 0.737 | 1.221 | ||||||
DI MARC Bib Update | PTF - Updates Success - 1 | 01:21:21 | 0.62 | 1.106 | Last 30 minutes without OAI-PMH |
Comparisons
Comparison table for CI/CO response times
CI/CO only | CI/CO + OAI-PMH | CI/CO + OAI-PMH + DI Create 1k | CI/CO + OAI-PMH + DI Update 1k | CI/CO after | CI/CO + OAI-PMH + DI Create 100k | CI/CO between | CI/CO + OAI-PMH + DI Update 100k | CI/CO after | |
Requests | Average | Average | Average | Average | Average | Average | |||
Check-Out Controller | 0.904 | 1.024 ↑13.27% | 1.398 ↑54.65% | 1.125 ↑24.45% | 0.900 | 1.545 ↑70.91% | 0.914 | 1.231 ↑36.17% | 0.926 |
Check-In Controller | 0.629 | 0.666 ↑5.88% | 0.961 ↑52.78% | 0.706 ↑12.24% | 0.625 | 1.078 ↑71.38% | 0.569 | 0.725 ↑15.26% | 0.515 |
Scenario 1
Response time
This table shows s40 minutes of CI/CO
Service CPU Utilization