Suppose a company has five Salesforce production instances and needs to backup all of them with CopyStorm. How many computers or virtual machines are needed?
This question is a lot like asking “How long is a piece of string?”. Though running many CopyStorm jobs on the same computer will work, the maximum number depends on a lot of factors. Here are a few key questions to ask:
- What is the largest record each job will need to back up?
- The primary determining factor in the amount of memory required by CopyStorm is the size of the largest record that must be retrieved from Salesforce.
- For example, if your Salesforce contains a 500MB Attachment then CopyStorm will need around 1300MB of memory at runtime (500MB for the record from Salesforce, 500MB for the prepared database record, and a bit more for overhead).
- Except for Attachments and ContentVersions, CopyStorm can usually run in 100-120MB (you will see larger usage in most cases because the system allows it and the application uses more memory to avoid frequent garbage collection).
- You can discover the size of your largest record in the Salesforce GUI and use this information to estimate CopyStorm memory usage.
- How often will each backup run?
- To backup multiple Salesforce instances, where CopyStorm jobs are scheduled to run at the same or overlapping times the total amount of memory required on your computer may need to be increased.
- Though running two jobs may not double memory usage, the difference will be material.
- What is the throughput to/from the internet on the computer?
- The #1 performance bottleneck for CopyStorm is typically the rate at which Salesforce responds to queries.
- For a single CopyStorm job it is unlikely that throughput to/from the internet will be a problem, but running many CopyStorm jobs simultaneously may swamp a computer’s Ethernet capabilities.
- What is the throughput to/from the database where CopyStorm backups will be stored?
- The #2 performance bottleneck for CopyStorm is the rate at which data can be written to the target database.
The short answer is that you can keep adding scheduled CopyStorm jobs until you are unhappy with the performance. Running several jobs at the same time will rarely be an issue, but running dozens at the same time may require revisiting your computer’s memory and Ethernet performance.