TLDR: 52-70 seconds per GB
We often see the question, how long does a DigitalOcean Snapshot take on community forums, so we thought we would look at our past 2.5 million snapshots and come up with an answer, or most probably a range of minutes per GB.
For this research, we are only looking at droplet backups. Volume snapshots are 'instant'. They are a point in time disk snapshots which are then compressed and exported away. From the API point of view, if you request the size of a SnapShot after 30 minutes, you will see its billable size shrink as the data is compressed.
Back to droplets, we have always told customers it depends on the amount of write work the hard drives are doing as to how long per minute the backup will take.
Points about our data
- We are using the time DigitalOcean tells us the snapshot was completed, due to the async nature of the request it makes take longer to show up in SnapShooter, we don't want to over poll the API and burn API credits up (we check every 2-5minutes).
- We don't know the load the droplet is under during the backup. We feel we have enough data to aggregate out.
- Outliers, we are going to move any snapshots that took a very very long time backup. Sometimes they get jammed in the queue for whatever reason, and we don't want that throwing the average off.
- Given that we have been doing this since 2017 we are only going to look at snapshots created this year, given that DigitalOcean always upgrades hardware, with computing power and networking. We are limiting our sample to 1 million Snapshots.
2020 SnapShots Stats
Average Snapshot Size: 25.4GB
Max Size: 1TB
Average time to backup: 24 minutes
Avg time to backup per GB: 59s
Average with 98% of snaphots: 50s-70s
Average with 99.5% of snaphots 50s - 3minutes per GB
We looked at last years data and found a very very small increase in Snapshot time, nothing significant enough to quote.
In our documentation, our 1-3 minutes per GB was on the money. Most backups take 50-70 seconds per GB, and almost all of them are finished within the three minutes per GB range. Again if your server is under really high write load, you can expect to see higher durations.