Could someone explain a flow of process for allocating readers for an auxcopy job?
What does stream allocation take place in CVJobReplicatorODS exactly?
I see that the number of readers is a function of num of CPU and RAM. By default, each CPU in a proxy can support 10 streams, and each stream requires 100 MB of memory. For e.g for VSA.
E.g. My VSA backups were backed up with x number of readers and y number of writers to HPE StoreOnce Catalyst.
How does the replication agent (auxcopy) decide and allocate readers for copying a list of N jobs to tape.
Imagine there is a primary copy → Storeonce Catalyst
secondary copy → tape (combine streams to 2 tape drives with multiplexing factor of 25).
Number of readers varies from 12 to 38 in my environment. It appears that the number of readers used for the subclients plays a role in the number of readers that will be assigned in the auxcopy. My goal is to increase the readers for the auxcopy jobs for improving the performance. My auxcopy with 38 readers streams has a throughput of 1.4TB/hr while the job with 26 readers on a different MA is 255GB/hr. Note that both the auxcopies are copying VMware (VSA) backups.
Would be happy to get pointers in understanding the high level flow of how readers are allocated in auxcopies? How can the number of readers for auxcopies be tuned? The goal is to get as many readers as possible to not have the tape drive wait for data from readers.