Best MySQL DigitalOcean Performance – ScaleGrid vs. DigitalOcean Managed Databases
ScaleGrid
Posted on June 22, 2020
MySQL is the all-time number one open source database in the world, and a staple in RDBMS space. DigitalOcean is quickly building its reputation as the developers cloud by providing an affordable, flexible and easy to use cloud platform for developers to work with. MySQL on DigitalOcean is a natural fit, but what’s the best way to deploy your cloud database? In this post, we are going to compare the top two providers, DigitalOcean Managed Databases for MySQL vs. ScaleGrid MySQL hosting on DigitalOcean.
At a glance - TLDR
Compare Throughput
ScaleGrid averages almost 40% higher throughput over DigitalOcean for MySQL, with up to 46% higher throughput in write-intensive workloads. Read now
Compare Latency
On average, ScaleGrid achieves almost 30% lower latency over DigitalOcean for the same deployment configurations. Read nowCompare Pricing
ScaleGrid provides 30% more storage on average vs. DigitalOcean for MySQL at the same affordable price. Read now
MySQL DigitalOcean Performance Benchmark
In this benchmark, we compare equivalent plan sizes between ScaleGrid MySQL on DigitalOcean and DigitalOcean Managed Databases for MySQL. We are going to use a common, popular plan size using the below configurations for this performance benchmark:
Comparison Overview
ScaleGrid | DigitalOcean | |
---|---|---|
Instance Type | Medium: 4 vCPUs | Medium: 4 vCPUs |
MySQL Version | 8.0.20 | 8.0.20 |
RAM | 8GB | 8GB |
SSD | 140GB | 115GB |
Deployment Type | Standalone | Standalone |
Region | SF03 | SF03 |
Support | Included | Business-level support included with account sizes over $500/month |
Monthly Price | $120 | $120 |
As you can see above, ScaleGrid and DigitalOcean offer the same plan configurations across this plan size, apart from SSD where ScaleGrid provides over 20% more storage for the same price.
To ensure the most accurate results in our performance tests, we run the benchmark four times for each comparison to find the average performance across throughput and latency over read-intensive workloads, balanced workloads, and write-intensive workloads.
Throughput
In this benchmark, we measure MySQL throughput in terms of queries per second (QPS) to measure our query efficiency. To quickly summarize the results, we display read-intensive, write-intensive and balanced workload averages below for 150 threads for ScaleGrid vs. DigitalOcean MySQL:
For the common 150 thread comparison, ScaleGrid averages almost 40% higher throughput over DigitalOcean for MySQL, with up to 46% higher throughput in write-intensive workloads. |
Read-Intensive Throughput Benchmark
Client Threads | ScaleGrid | DigitalOcean | ScaleGrid Improvement |
---|---|---|---|
25 | 10,576 | 7,268 | 45.5% |
50 | 12,374 | 8,598 | 43.9% |
100 | 12,984 | 9,215 | 40.9% |
150 | 12,845 | 9,590 | 33.9% |
175 | 13,247 | 9,720 | 36.3% |
200 | 12,916 | 9,677 | 33.5% |
For read-intensive workloads, ScaleGrid for MySQL averages 39% higher throughput over DigitalOcean Managed Databases across all thread counts.
Balanced Workload Throughput Benchmark
Client Threads | ScaleGrid | DigitalOcean | ScaleGrid Improvement |
---|---|---|---|
25 | 7,915 | 6,415 | 23.4% |
50 | 9,725 | 7,613 | 27.7% |
100 | 11,106 | 8,512 | 30.5% |
150 | 11,936 | 8,552 | 39.6% |
175 | 12,287 | 8,447 | 45.5% |
200 | 12,507 | 8,579 | 45.8% |
For balanced workloads, ScaleGrid for MySQL averages 35.4% higher throughput over DigitalOcean Managed Databases across all thread counts. The greatest performance improvement can be seen in the higher thread count rows of 175 and 200 threads where ScaleGrid achieves over 45% higher throughput.
Write-Intensive Throughput Benchmark
Client Threads | ScaleGrid | DigitalOcean | ScaleGrid Improvement |
---|---|---|---|
25 | 6,595 | 5,353 | 23.2% |
50 | 7,781 | 6,384 | 21.9% |
100 | 9,268 | 7,132 | 29.9% |
150 | 10,409 | 7,124 | 46.1% |
175 | 10,338 | 7,075 | 46.1% |
200 | 10,503 | 7,176 | 46.4% |
For write-intensive workloads, ScaleGrid for MySQL averages 35.6% higher throughput over DigitalOcean Managed Databases across all thread counts. As you can see from the above table, ScaleGrid achieves over a 46% higher throughput in thread counts over 150 threads over DigitalOcean.
Latency
Now that we’ve compared throughput performance, let’s take a look at ScaleGrid vs. DigitalOcean latency for MySQL. We measure latency in ms 95th Percentile latency, and again compare across read-intensive, write-intensive and balanced workloads.
In the above chart, we compare ScaleGrid vs. DigitalOcean MySQL latency across the common workloads for 150 threads, and see that on average, ScaleGrid achieves almost 30% lower latency over DigitalOcean for the same deployment configurations. |
Now let’s take a look at the latency across different thread counts for read-intensive, balanced workload, and write-intensive scenarios.
Read-Intensive Latency Benchmark
Client Threads | ScaleGrid | DigitalOcean | ScaleGrid Improvement |
---|---|---|---|
25 | 61 | 92 | -33.8% |
50 | 112 | 152 | -26.4% |
100 | 213 | 279 | -23.6% |
150 | 336 | 419 | -19.9% |
175 | 388 | 496 | -21.8% |
200 | 456 | 594 | -23.2% |
On average, ScaleGrid for MySQL achieved a 24.8% lower latency over DigitalOcean Managed Databases from read-intensive scenarios across all thread counts.
Balanced Workload Latency Benchmark
Client Threads | ScaleGrid | DigitalOcean | ScaleGrid Improvement |
---|---|---|---|
25 | 39 | 53 | -26.3% |
50 | 67 | 87 | -23.6% |
100 | 117 | 158 | -25.7% |
150 | 170 | 246 | -30.8% |
175 | 197 | 300 | -34.3% |
200 | 222 | 342 | -35.1% |
On average, ScaleGrid for MySQL achieved a 29.3% lower latency over DigitalOcean Managed Databases from balanced workload scenarios across all thread counts. Most notably, the 175 and 200 thread scenarios latency were reduced by over a third at ScaleGrid.
If you're also deploying PostgreSQL, and interested to see how these two providers compare across throughput and latency, check out our Comparing PostgreSQL DigitalOcean Performance & Pricing – ScaleGrid vs. DigitalOcean Managed Databases post
Write-Intensive Latency Benchmark
Client Threads | ScaleGrid | DigitalOcean | ScaleGrid Improvement |
---|---|---|---|
25 | 45 | 55 | -17.5% |
50 | 74 | 93 | -20.9% |
100 | 119 | 166 | -28.5% |
150 | 164 | 261 | -37.4% |
175 | 192 | 311 | -38.1% |
200 | 219 | 359 | -38.9% |
On average, ScaleGrid for MySQL achieved a 29.3% lower latency over DigitalOcean Managed Databases from write-intensive workloads across all thread counts. In particular, scenarios with 150 threads or higher achieved over 37% lower latency at ScaleGrid compared to DigitalOcean.
MySQL Benchmark Setup
Here is a breakdown of the benchmark configurations we used to compare MySQL deployments at ScaleGrid and DigitalOcean.
Sysbench Configuration
Configuration | Details |
---|---|
Tool | Sysbench version 1.0.20 |
Host | Medium (4 vCPUs, 8GB RAM) SF03 region |
# Tables | 100 |
# Rows per table | 2,000,000 |
# Threads | 25-200 |
Random numbers distribution | Uniform |
We used two DigitalOcean Droplets to benchmark each instance simultaneously.
MySQL Parameters
Configuration | ScaleGrid | DigitalOcean |
---|---|---|
MySQL Version | 8.0.20 | 8.0.20 |
innodb_buffer_pool_size | 5GB | 3.6GB |
innodb_log_file_size | 1 | 2.2 |
Innodb_io_capacity | 3,000 | 200 |
innodb_io_capacity_max | 6,000 | 2000 |
binlog_group_commit_sync_delay | 0 | 0 |
DigitalOcean does not allow you to customize your MySQL configurations, which is why they are limited to the default values displayed here. At ScaleGrid, you can customize your MySQL configurations to optimize your deployment for your unique use case.
Read-Intensive Workload
80% reads and 20% writes, with 12 reads and 3 writes per transaction.
Balanced Workload
50% reads and 50% writes, running 3 selects, 1 insert, 1 update and 1 delete as part of each transaction.
Write-Intensive Workload
20% reads and 80% writes, with 4 writes and 1 read for every transaction.
MySQL on DigitalOcean Pricing
Pricing is of course one of the most significant considerations when it comes to making an infrastructure investment. Fortunately, just as we outlined above, ScaleGrid pricing is the same as DigitalOcean’s for MySQL when it comes to RAM and vCPUs across standalone, 2-node and 3-node deployments:
While pricing is the same, ScaleGrid also offers, on average, 30% more storage for the same price as DigitalOcean, and as we discovered above also provides significantly higher performance. Both providers also offer support for PostgreSQL and Redis at the same price, and ScaleGrid is the only DBaaS to offer support for MongoDB® database on DigitalOcean.
ScaleGrid also offers a Nano plan size with 1GB of RAM, 1 core, and 18GB of storage for only $10/month. This is a great affordable plan for developer projects. Additionally, ScaleGrid offers a Startup Program where early-stage companies can get 50% off their MySQL hosting on DigitalOcean for up to 12 months.
Features for MySQL DigitalOcean
Both ScaleGrid and DigitalOcean offer the basic DBaaS features, like scaling, restores, and alerts that we’ve come to expect from a managed database provider. But, as any DBA knows, there’s much more to managing a deployment than the basics. Let’s take a look at some of the advanced MySQL features offered between ScaleGrid and DigitalOcean:
ScaleGrid PostgreSQL | DigitalOcean PostgreSQL | |
---|---|---|
Supported MySQL Versions | 5.6.x, 5.7.x, 8.0.x | 8.0.x |
MySQL Super User Access | Yes | No |
Replication Options | Semisynchronous & Asynchronous | Asynchronous |
MySQL Configuration Management & Tuning | Yes | No |
On-Demand Slow Query Analysis | Yes | No |
24/7 Support Included | Yes | Business support only available for accounts over $500/month |
These are just a few of the advanced MySQL management features. To compare the full list, check out the ScaleGrid vs. DigitalOcean MySQL page.
Posted on June 22, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.