Versions Compared

Key

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

Table of Contents
outlinetrue

...

ProfileTest #TenantMARC FileDI Duration Quesnelia
(hh:mm:ss)
Results
DI MARC Bib Update (PTF - Updates Success - 2)1

College
(cs00000int_0001)

25K.mrc0:17:43Completed
2College
(cs00000int_0001)
25K.mrc0:26:04Completed
Professional 
(cs00000int_0002)
25K.mrc0:25:50Completed
3College
(cs00000int_0001)
25K.mrc0:26:46Completed
Professional 
(cs00000int_0002)
25K.mrc0:38:06Completed
School
(cs00000int_0003)
25K.mrc0:37:29Completed

Comparison

...

Profile MARC File Test run # DI DurationDI Delta
(hh:mm:ss) 
Poppy Quesnelia
DI MARC Bib Update (PTF - Updates Success - 2)  25K.mrc  10:17:180:17:43+00:00:25
+2.41%
20:56:410:51:54-00:04:47
-8.44%
31: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
12345

Resource utilization for Test №2

...

titleResource 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

5
#TOP 5 SQL statements
1234
INSERT 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
titleResource utilization table


RAMCPU
nginx-okapi67%mod-data-import-b72%
mod-data-import-b50%mod-inventory-b66%
okapi-b42%mod-source-record-manager-b52%
mod-di-converter-storage-b41%mod-source-record-storage-b45%
mod-source-record-storage-b21%mod-pubsub-b35%
mod-inventory-storage-b20%okapi-b35%
mod-source-record-manager-b9%mod-di-converter-storage-b34%
mod-quick-marc-b9%mod-feesfines-b33%
mod-feesfines-b9%mod-patron-blocks-b32%
mod-authtoken-b9%mod-quick-marc-b31%
mod-pubsub-b7%mod-circulation-storage-b30%
mod-configuration-b6%mod-configuration-b29%
pub-okapi4%mod-users-bl-b28%
mod-circulation-storage-b2%mod-circulation-b28%
mod-remote-storage-b2%mod-inventory-storage-b22%
mod-inventory-update-b2%mod-authtoken-b21%
mod-circulation-b1%mod-remote-storage-b18%
mod-patron-blocks-b1%nginx-okapi4%
mod-users-bl-b0.8%pub-okapi4%


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%.

...