Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device.
Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
/
PTF - Data Export Test Report (Quesnelia) [non-ECS]
This document contains the results of testing Data Export (MARC BIB) on Quesnelia release with Data Export tests for 1k, 100k, 500k. Three csv files were prepared to run Data Export with Default instances export job profile and srs - holdings and items job profiles.
DE jobs perform dramatically better in Quesnelia release if to compare with Poppy. No issues with token. All jobs with file's volume 1000, 100k, 500k records completed successfully.
The improvement varies from file size or job profile - from 4 to 9 times better duration. Additional test was conducted with job profile prepared by script to check consistency of results.
The Average CPU utilization for mod-data-export depends on file size and job profile. Exporting 100k records- 63% in Default and 92% in custom job profile. Exporting 500k - Default instances export job profile- 434%, srs - holdings and items- 296%
Average Memory consumption for mod-data-export was close to 100%. Almost the same as in Poppy release.
Average DB utilization - 17% with 100k and 33% with 500k. DB connections - 1360 instead of 200 in Poppy.
Recommendations & Jiras
Consider increasing of cpu for mod-data-export module to smoothen spikes with big size files.
Test Results
This table contains durations for jobs with 3 job profiles.
Profile
CSV File
DE Duration/Status Quesnelia
Result
Status
DE MARC Bib (Default instances export job profile)
1kDE.csv
00:00:02
COMPLETED
100kDE.csv
00:02:17
COMPLETED
500kDE.csv
00:05:10
COMPLETED
DE MARC Bib (srs - holdings and items)
1kDE.csv
00:00:04
COMPLETED
100kDE.csv
00:05:13
COMPLETED
500kDE.csv
00:08:58
COMPLETED
Export for Data Import updates(created by script)
1kDE.csv
00:00:04
COMPLETED
100kDE.csv
00:05:08
COMPLETED
500kDE.csv
00:10:41
COMPLETED
Comparison
This table contains durations comparison between Poppy and Quesnelia releases
Profile
CSV File
DE Duration/Status Poppy 2 set
DE Duration/Status Quesnelia
DE Duration, DELTA Poppy/Quesnelia
Result
Status
Result
Status
hh:mm:ss
DE MARC Bib (Default instances export job profile)
select ie1_0.id,ie1_0.holdings_record_id,ie1_0.jsonb from v_item ie1_0 where ie1_0.holdings_record_id in ($1)
select hre1_0.id,hre1_0.instance_id,hre1_0.jsonb from v_holdings_record hre1_0 where hre1_0.instance_id=$1
INSERT INTO job_executions_export_ids (job_execution_id, instance_id) VALUES ($1, $2) ON CONFLICT DO NOTHING
Errors / Additional information
Note: inconsistency of data or duplicated records in the file with instances may lead to job failures. Zip file generates on UI side if number of records more than 100.000.
Methodology/Approach
3 files were prepared with query: SELECT id FROM [tenant_id]_mod_inventory_storage.instance where jsonb->>'source'='MARC' LIMIT 1000|100000|500000;
All tests were carried out sequentially with each job profile on main tenant fs09000000.
To get status and time range for export jobs the query used:
SQL Query
select exported as filesize,completed_date - started_date as duration,job_profile_name,status as status,started_date,completed_date
FROM [tenant]_mod_data_export.job_executions
where job_profile_name = 'srs - holdings and items'
ORDER BY completed_date DESC
select exported as filesize,completed_date - started_date as duration,job_profile_name,status as status,started_date,completed_date
FROM [tenant]_mod_data_export.job_executions
where job_profile_name = 'Default instances export job profile'
ORDER BY completed_date DESC
select exported as filesize,completed_date - started_date as duration,job_profile_name,status as status,started_date,completed_date
FROM [tenant]_mod_data_export.job_executions
where job_profile_name = 'Export for Data Import updates(test)1'
ORDER BY completed_date DESC