Archival Testing

About Archival Process

Archival testing refers to the process of testing and validating the archival and retrieval functionalities of a system, software, or data storage solution. This type of testing is particularly important for systems that handle large volumes of data meant for long-term storage, such as archival systems, databases. The goal of archival testing is to ensure that data can be stored, retrieved, and maintained accurately over an extended period.

Performance Testing

Objective: To validate performance-related issues and identify defects for optimization by assessing the system's performance with large volumes of data while archiving.

Hardware Specs

  Source Database (Oracle DB 12c) Target Database (Oracle DB 12c)
Attached Vnic(s) primary primary
Block Volume 5346(GB) : ATTACHED 2258 (GB) : ATTACHED
Boot Volume 100 (GB) : ATTACHED 100 (GB) : ATTACHED
Burstable BASELINE_1_2 BASELINE_1_2
HW 2.55 GHz AMD EPYC 7J13 (Milan) 2.55 GHz AMD EPYC 7J13 (Milan)
Memory 384 384
NetworkType PARAVIRTUALIZED PARAVIRTUALIZED
OCPU 24 24
OS version Oracle Linux Server 8.6 Oracle Linux Server 8.6
Shape  VM.Standard.E4.Flex VM.Standard.E4.Flex

Archival Settings in application.yaml file

batchSize 1000
threadpoolSize

20

 

Test Results

Through performance testing, we experimented with batch size and thread pool configurations. Our findings revealed that with a batch size of 1000 and a thread pool size of 20, we achieved an impressive throughput of 47,522 activities per minute i.e., we are able to transfer ~6GB of data.

Archival Test Result

CPU Utilization of Source DB:

CPU Utilization of Source DB

CPU Utilization of Target DB:

CPU Utilization of Target DB

Indexes proposed during this phase of performance testing:

CREATE INDEX "IX1_ARCHIVE_BATCH_ENTITYGUIDS" ON "ARCHIVE_BATCH_ENTITYGUIDS" ("ARCHIVEGUID","BATCHID") ;

CREATE INDEX "IX2_ARCHIVE_BATCH_ENTITYGUIDS" ON "ARCHIVE_BATCH_ENTITYGUIDS" ("ENTITYGUID");