Measuring the speed of AWS’s Cold HDD EBS Volume Type for SQL Server backups

GMass runs entirely on Amazon Web Services (AWS), and it runs mostly on the Microsoft platform of web and database technologies, including using Microsoft SQL Server to store all user data. That means that all of your email lists, tracking data, campaign logs, and other data associated with your account is housed in a giant SQL Server database. Currently, that database is about 350 GB in size.

Also, GMass stores account data for life. Many systems purge data after a year or two in order to optimize storage efficiency, but thus far in our two year history, we haven’t had to do that. Think of your bank account or credit card account online — you can search transactions going back a year or two, but usually not much more than that. With GMass, your data is stored and retrievable forever as long as you have access to the Gmail account that you’re using to send mail merges with GMass.

Always looking to minimize our business expenses, I pay close attention to our monthly AWS bill, and to my dismay, it recently topped $3,000 for January. The largest portion of that is for our SQL Server instance and its associated storage, which consists of several EBS volumes.

Historically, we’ve backed up the SQL Server database files to a General Purpose SSD, but upon reading about the Cold HDD volume, and seeing that the cost per GB-month of a Cold HDD is 25% of the cost of a General Purpose SSD, I was curious to test Cold HDD’s as the backup drive for our SQL Server files.

Cost-wise, General Purpose SSD drives are $0.10 per GB-month and Cold HDD drives are $0.025 per GB-month. Meaning, if you have a 500 GB drive, a General Purpose SSD will cost $50/month while the Cold HDD drive will cost $12.50/month.

I wanted to make sure the cost savings wasn’t at the “expense” of performance. Meaning, if it took 30 minutes to backup a database file on the General Purpose SSD but 4 hours on a Cold HDD, the additional time wouldn’t be worth the cost-savings, because backing up a database is an I/O intensive process that affects performance of the overall GMass system. In fact, if you ever notice that your mail merge campaign “timed out” due to a database error, it was likely because it was during a database backup operation.

So, here are the results! I tested using a differential backup, at a point in time when our differential backup was about 30 GB in size. Drumroll please…

Time to back up 30 GB of data on a Cold HDD: 16 minutes, 45 seconds

Time to back up 30 GB of data on a General Purpose SSD: 13 minutes, 46 seconds

So there you have it. I’m happy to save 75% on my backup drive costs in exchange for about 25% longer backup times. Maybe now I can get that monthly bill back below $3,000!

You don’t need to worry about your campaigns timing out more because of this though. We recently changed our backup plan so that the overall time spent backing up database files is only 10% of what it used to be, so you should see “timeout” errors greatly reduced.

If you’re interested in learning more about exactly what data is stored on our servers, see the GMass Privacy Policy.

One Reply to “Measuring the speed of AWS’s Cold HDD EBS Volume Type for SQL Server backups”

Leave a Reply

Your email address will not be published. Required fields are marked *