...
Profile | Test # | Tenant | MARC File | DI Duration Quesnelia (hh:mm:ss) | Results |
---|
DI MARC Bib Update (PTF - Updates Success - 2) | 1 | College (cs00000int_0001)
| 25K.mrc | 0:17:43 | Completed |
2 | College (cs00000int_0001) | 25K.mrc | 0:26:04 | Completed |
Professional (cs00000int_0002)
| 25K.mrc | 0:25:50 | Completed |
3 | College (cs00000int_0001) | 25K.mrc | 0:26:46 | Completed |
Professional (cs00000int_0002) | 25K.mrc | 0:38:06 | Completed |
School (cs00000int_0003) | 25K.mrc | 0:37:29 | Completed |
Comparison
...
Profile | MARC File | Test run # | DI Duration | DI Delta (hh:mm:ss) |
---|
Poppy | Quesnelia |
DI MARC Bib Update (PTF - Updates Success - 2) | 25K.mrc | 1 | 0:17:18 | 0:17:43 | +00:00:25 +2.41%
|
2 | 0:56:41 | 0:51:54 | -00:04:47 -8.44%
|
3 | 1:33:48 with errors* | 1:42:21 | +00:08:33 +9.12%
|
Resource utilization for Test №1
...
Max number of DB connections was 1690.
DB load
Image Added
Top SQL-queries
Image Added
# | TOP 5 SQL statements |
---|
1 | 2 | 3 | 4 | 5 |
Resource utilization for Test №2
...
title | Resource utilization table |
---|
...
Service CPU Utilization
Here we can see that mod-data-import used 130% CPU in spikes.
Image Removed
Service Memory Utilization
Here we can see that all modules show a stable trend.
Image Removed
DB CPU Utilization
DB CPU was 92%.
Image Removed
DB Connections
Max number of DB connections was 1685.
Image Removed
DB load
Top SQL-queries
# | TOP 5 SQL statements |
---|
1 | 2 | 3 | 4 | 5INSERT INTO cs00000int_0001_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)
|
2 | insert into "marc_records_lb" ("id", "content") values (cast($1 as uuid), cast($2 as jsonb)) on conflict ("id") do update set "content" = cast($3 as jsonb)
|
3 | INSERT INTO cs00000int_0001_mod_source_record_manager.journal_records (id, job_execution_id, source_id, source_record_order, entity_type, entity_id, entity_hrid, action_type, action_status, error, action_date, title, instance_id, holdings_id, order_id, permanent_location_id, tenant_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17)
|
4 | INSERT INTO cs00000int_mod_search.consortium_instance (tenant_id, instance_id, json, created_date, updated_date)
VALUES ($1, $2, $3::json, $4, $5)
ON CONFLICT (tenant_id, instance_id)
DO UPDATE SET json = EXCLUDED.json, updated_date = EXCLUDED.updated_date
|
5 | INSERT INTO cs00000int_0001_mod_inventory_storage.holdings_record (id, jsonb) VALUES ($1, $2) RETURNING jsonb
|
Resource utilization for Test №2
Expand |
---|
title | Resource utilization table |
---|
|
RAM | CPU |
---|
nginx-okapi | 67% | mod-data-import-b | 72% | mod-data-import-b | 50% | mod-inventory-b | 66% | okapi-b | 42% | mod-source-record-manager-b | 52% | mod-di-converter-storage-b | 41% | mod-source-record-storage-b | 45% | mod-source-record-storage-b | 21% | mod-pubsub-b | 35% | mod-inventory-storage-b | 20% | okapi-b | 35% | mod-source-record-manager-b | 9% | mod-di-converter-storage-b | 34% | mod-quick-marc-b | 9% | mod-feesfines-b | 33% | mod-feesfines-b | 9% | mod-patron-blocks-b | 32% | mod-authtoken-b | 9% | mod-quick-marc-b | 31% | mod-pubsub-b | 7% | mod-circulation-storage-b | 30% | mod-configuration-b | 6% | mod-configuration-b | 29% | pub-okapi | 4% | mod-users-bl-b | 28% | mod-circulation-storage-b | 2% | mod-circulation-b | 28% | mod-remote-storage-b | 2% | mod-inventory-storage-b | 22% | mod-inventory-update-b | 2% | mod-authtoken-b | 21% | mod-circulation-b | 1% | mod-remote-storage-b | 18% | mod-patron-blocks-b | 1% | nginx-okapi | 4% | mod-users-bl-b | 0.8% | pub-okapi | 4% |
|
Service CPU Utilization
Here we can see that mod-data-import used 130% CPU in spikes.
Image Added
Service Memory Utilization
Here we can see that all modules show a stable trend.
Image Added
DB CPU Utilization
DB CPU was 92%.
Image Added
DB Connections
Max number of DB connections was 1685.
Image Added
DB load
Image Added
Top SQL-queries
Image Added
# | TOP 5 SQL statements |
---|
1 | insert into "marc_records_lb" ("id", "content") values (cast($1 as uuid), cast($2 as jsonb)) on conflict ("id") do update set "content" = cast($3 as jsonb)
|
2 | INSERT INTO cs00000int_0001_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)
|
3 | INSERT INTO cs00000int_0001_mod_source_record_manager.journal_records (id, job_execution_id, source_id, source_record_order, entity_type, entity_id, entity_hrid, action_type, action_status, error, action_date, title, instance_id, holdings_id, order_id, permanent_location_id, tenant_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17)
|
4 | INSERT INTO cs00000int_mod_search.consortium_instance (tenant_id, instance_id, json, created_date, updated_date)
VALUES ($1, $2, $3::json, $4, $5)
ON CONFLICT (tenant_id, instance_id)
DO UPDATE SET json = EXCLUDED.json, updated_date = EXCLUDED.updated_date
|
5 | UPDATE cs00000int_0001_mod_inventory_storage.instance SET jsonb = $1::jsonb WHERE id=?
|
Appendix
Infrastructure
PTF - environment Quesnelia (qcon)
...
- Test 1: Manually tested 25k records files DI started on College tenant(cs00000int_0001) only.
- Test 2: Manually tested 25k records files DI started on College tenant(cs00000int_0001) and Professional tenant(cs00000int_0002) concurrently, step 30%.
- Test 3: Manually tested 25k records files DI started on College tenant(cs00000int_0001), Professional tenant(cs00000int_0002) and School tenant(cs00000int_0003) concurrently, step 30%.
...