Best MySQL DigitalOcean Performance – ScaleGrid vs. DigitalOcean Managed Databases
Tags: mysql, digitalocean, database, developer
Published: 2020-06-22 19:45:37

---
title: Best MySQL DigitalOcean Performance – ScaleGrid vs. DigitalOcean Managed Databases
published: true
description: Compare ScaleGrid MySQL vs. DigitalOcean Managed Databases - See which offers the best MySQL throughput, latency, and pricing on DigitalOcean - ScaleGrid Blog
tags: MySQL, DigitalOcean, Database, Developer,
//cover_image: https://scalegrid.io/blog/wp-content/uploads/2020/06/Best-MySQL-DigitalOcean-Performance-ScaleGrid-vs-DigitalOcean-Managed-Databases.jpg
---
<link rel="canonical" href="https://scalegrid.io/blog/best-mysql-digitalocean-performance-scalegrid-vs-digitalocean-managed-databases/" />
<a href="https://scalegrid.io/blog/best-mysql-digitalocean-performance-scalegrid-vs-digitalocean-managed-databases/"><img class="alignnone size-full wp-image-5509" src="https://scalegrid.io/blog/wp-content/uploads/2020/06/Best-MySQL-DigitalOcean-Performance-ScaleGrid-vs-DigitalOcean-Managed-Databases.jpg" alt="Best MySQL DigitalOcean Performance – ScaleGrid vs. DigitalOcean Managed Databases" width="100%" height="auto" /></a>
<p style="text-align: justify;">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 <a style="color: #2da964;" href="https://scalegrid.io/blog/best-mysql-digitalocean-performance-scalegrid-vs-digitalocean-managed-databases/" target="_blank">compare the top two providers</a>, DigitalOcean Managed Databases for MySQL vs. ScaleGrid <a style="color: #2da964;" href="https://scalegrid.io/mysql.html" target="_blank">MySQL hosting</a> on DigitalOcean.</p>

<h2>At a glance - TLDR</h2>

<h4 style="font-size: 20px;">Compare Throughput</h4>
<p>ScaleGrid averages almost 40% higher throughput over DigitalOcean for MySQL, with up to 46% higher throughput in write-intensive workloads. <a style="color: #2da964; text-decoration: underline;" href="https://scalegrid.io/blog/best-mysql-digitalocean-performance-scalegrid-vs-digitalocean-managed-databases/#1">Read now</a></p>
<h4 style="font-size: 20px;">Compare Latency</h4>
</p>On average, ScaleGrid achieves almost 30% lower latency over DigitalOcean for the same deployment configurations. <a style="color: #2da964; text-decoration: underline;" href="https://scalegrid.io/blog/best-mysql-digitalocean-performance-scalegrid-vs-digitalocean-managed-databases/#2">Read now</a></p>
<h4 style="font-size: 20px;">Compare Pricing</h4>
<p>ScaleGrid provides 30% more storage on average vs. DigitalOcean for MySQL at the same affordable price. <a style="color: #2da964; text-decoration: underline;" href="https://scalegrid.io/blog/best-mysql-digitalocean-performance-scalegrid-vs-digitalocean-managed-databases/#3">Read now</a></p>

<h2 style="padding-top: 15px;">MySQL DigitalOcean Performance Benchmark</h2>
<p style="text-align: justify;">In this benchmark, we compare equivalent plan sizes between <a style="color: #2da964;" href="https://scalegrid.io/mysql/digitalocean.html" target="_blank">ScaleGrid MySQL on DigitalOcean</a> and <a style="color: #2da964;" href="https://www.digitalocean.com/products/managed-databases-mysql/" target="_blank" rel="nofollow">DigitalOcean Managed Databases for MySQL</a>. We are going to use a common, popular plan size using the below configurations for this performance benchmark:</p>

<h3 style="padding-top: 15px; padding-bottom:10px;">Comparison Overview</h3>
<table width="100%">
<tbody>
<tr>
<th width="30%"></th>
<th style="background-color: #2da964; padding: 10px; color: #fff;" width="35%"><b>ScaleGrid</b></th>
<th style="background-color: #273039; padding: 10px; color: #fff;" width="35%"><b>DigitalOcean</b></th>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">Instance Type</td>
<td style="border: 1px solid #eee; padding: 10px;">Medium: 4 vCPUs</td>
<td style="border: 1px solid #eee; padding: 10px;">Medium: 4 vCPUs</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">MySQL Version</td>
<td style="border: 1px solid #eee; padding: 10px;">8.0.20</td>
<td style="border: 1px solid #eee; padding: 10px;">8.0.20</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">RAM</td>
<td style="border: 1px solid #eee; padding: 10px;">8GB</td>
<td style="border: 1px solid #eee; padding: 10px;">8GB</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">SSD</td>
<td style="border: 1px solid #eee; padding: 10px;">140GB</td>
<td style="border: 1px solid #eee; padding: 10px;">115GB</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">Deployment Type</td>
<td style="border: 1px solid #eee; padding: 10px;">Standalone</td>
<td style="border: 1px solid #eee; padding: 10px;">Standalone</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">Region</td>
<td style="border: 1px solid #eee; padding: 10px;">SF03</td>
<td style="border: 1px solid #eee; padding: 10px;">SF03</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">Support</td>
<td style="border: 1px solid #eee; padding: 10px;">Included</td>
<td style="border: 1px solid #eee; padding: 10px;">Business-level support included with account sizes over $500/month</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">Monthly Price</td>
<td style="border: 1px solid #eee; padding: 10px;"><a style="color: #2da964;" href="https://scalegrid.io/pricing.html?db=MYSQL&amp;cloud=cloud_digital_ocean&amp;replica=deployment_standalone&amp;instance=Medium#section_pricing_dedicated" target="_blank">$120</a></td>
<td style="border: 1px solid #eee; padding: 10px;"><a style="color: #2da964;" href="https://www.digitalocean.com/pricing/" target="_blank" rel="nofollow">$120</a></td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding-top:20px;">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.</p>
<p style="text-align: justify;">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.</p>

<h2 style="padding-top: 15px;"><a id="1"></a>Throughput</h2>
<p style="text-align: justify;">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:</p>
<p style="text-align: justify; padding:15px 0px;"><a href="https://scalegrid.io/blog/wp-content/uploads/2020/06/ScaleGrid-vs-DigitalOcean-MySQL-Throughput-Chart.jpg"><img class="alignnone size-full wp-image-5509" src="https://scalegrid.io/blog/wp-content/uploads/2020/06/ScaleGrid-vs-DigitalOcean-MySQL-Throughput-Chart.jpg" alt="ScaleGrid MySQL vs DigitalOcean Managed Databases - Throughput Performance Graph" width="100%" height="auto" /></a></p>

<table style="margin-top: 15px;" width="100%">
<tbody>
<tr>
<td style="padding: 15px; background: #def5fe;"><span style="font-size: 18px;">For the common 150 thread comparison,</span><span style="font-size: 18px; font-weight: bold;"> ScaleGrid averages almost 40% higher throughput over DigitalOcean for MySQL</span><span style="font-size: 18px;">, with up to 46% higher throughput in write-intensive workloads.</span></td>
</tr>
</tbody>
</table>
<h3 style="padding-top: 15px; padding-bottom:10px;">Read-Intensive Throughput Benchmark</h3>
<table width="100%">
<tbody>
<tr>
<th style="width: 36%;"><b>Client Threads</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #2da964; color: #fff;"><b>ScaleGrid</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #273039; color: #fff;"><b>DigitalOcean</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #def5fe;"><b>ScaleGrid Improvement</b></th>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">25</td>
<td style="padding: 10px; border: 1px solid #eee;">10,576</td>
<td style="padding: 10px; border: 1px solid #eee;">7,268</td>
<td style="padding: 10px; border: 1px solid #eee;">45.5%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">50</td>
<td style="padding: 10px; border: 1px solid #eee;">12,374</td>
<td style="padding: 10px; border: 1px solid #eee;">8,598</td>
<td style="padding: 10px; border: 1px solid #eee;">43.9%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">100</td>
<td style="padding: 10px; border: 1px solid #eee;">12,984</td>
<td style="padding: 10px; border: 1px solid #eee;">9,215</td>
<td style="padding: 10px; border: 1px solid #eee;">40.9%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">150</td>
<td style="padding: 10px; border: 1px solid #eee;">12,845</td>
<td style="padding: 10px; border: 1px solid #eee;">9,590</td>
<td style="padding: 10px; border: 1px solid #eee;">33.9%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">175</td>
<td style="padding: 10px; border: 1px solid #eee;">13,247</td>
<td style="padding: 10px; border: 1px solid #eee;">9,720</td>
<td style="padding: 10px; border: 1px solid #eee;">36.3%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">200</td>
<td style="padding: 10px; border: 1px solid #eee;">12,916</td>
<td style="padding: 10px; border: 1px solid #eee;">9,677</td>
<td style="padding: 10px; border: 1px solid #eee;">33.5%</td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding-top:20px;">For read-intensive workloads, ScaleGrid for MySQL averages 39% higher throughput over DigitalOcean Managed Databases across all thread counts.</p>

<h3 style="padding-top: 15px; padding-bottom:10px;">Balanced Workload Throughput Benchmark</h3>
<table width="100%">
<tbody>
<tr>
<th style="width: 36%;"><b>Client Threads</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #2da964; color: #fff;"><b>ScaleGrid</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #273039; color: #fff;"><b>DigitalOcean</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #def5fe;"><b>ScaleGrid Improvement</b></th>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">25</td>
<td style="padding: 10px; border: 1px solid #eee;">7,915</td>
<td style="padding: 10px; border: 1px solid #eee;">6,415</td>
<td style="padding: 10px; border: 1px solid #eee;">23.4%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">50</td>
<td style="padding: 10px; border: 1px solid #eee;">9,725</td>
<td style="padding: 10px; border: 1px solid #eee;">7,613</td>
<td style="padding: 10px; border: 1px solid #eee;">27.7%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">100</td>
<td style="padding: 10px; border: 1px solid #eee;">11,106</td>
<td style="padding: 10px; border: 1px solid #eee;">8,512</td>
<td style="padding: 10px; border: 1px solid #eee;">30.5%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">150</td>
<td style="padding: 10px; border: 1px solid #eee;">11,936</td>
<td style="padding: 10px; border: 1px solid #eee;">8,552</td>
<td style="padding: 10px; border: 1px solid #eee;">39.6%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">175</td>
<td style="padding: 10px; border: 1px solid #eee;">12,287</td>
<td style="padding: 10px; border: 1px solid #eee;">8,447</td>
<td style="padding: 10px; border: 1px solid #eee;">45.5%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">200</td>
<td style="padding: 10px; border: 1px solid #eee;">12,507</td>
<td style="padding: 10px; border: 1px solid #eee;">8,579</td>
<td style="padding: 10px; border: 1px solid #eee;">45.8%</td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding-top:20px;">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.</p>

<h3 style="padding-top: 15px; padding-bottom:10px;">Write-Intensive Throughput Benchmark</h3>
<table width="100%">
<tbody>
<tr>
<th style="width: 36%;"><b>Client Threads</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #2da964; color: #fff;"><b>ScaleGrid</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #273039; color: #fff;"><b>DigitalOcean</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #def5fe;"><b>ScaleGrid Improvement</b></th>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">25</td>
<td style="padding: 10px; border: 1px solid #eee;">6,595</td>
<td style="padding: 10px; border: 1px solid #eee;">5,353</td>
<td style="padding: 10px; border: 1px solid #eee;">23.2%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">50</td>
<td style="padding: 10px; border: 1px solid #eee;">7,781</td>
<td style="padding: 10px; border: 1px solid #eee;">6,384</td>
<td style="padding: 10px; border: 1px solid #eee;">21.9%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">100</td>
<td style="padding: 10px; border: 1px solid #eee;">9,268</td>
<td style="padding: 10px; border: 1px solid #eee;">7,132</td>
<td style="padding: 10px; border: 1px solid #eee;">29.9%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">150</td>
<td style="padding: 10px; border: 1px solid #eee;">10,409</td>
<td style="padding: 10px; border: 1px solid #eee;">7,124</td>
<td style="padding: 10px; border: 1px solid #eee;">46.1%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">175</td>
<td style="padding: 10px; border: 1px solid #eee;">10,338</td>
<td style="padding: 10px; border: 1px solid #eee;">7,075</td>
<td style="padding: 10px; border: 1px solid #eee;">46.1%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">200</td>
<td style="padding: 10px; border: 1px solid #eee;">10,503</td>
<td style="padding: 10px; border: 1px solid #eee;">7,176</td>
<td style="padding: 10px; border: 1px solid #eee;">46.4%</td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding-top:20px;">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.</p>

<h2 style="padding-top: 15px;"><a id="2"></a>Latency</h2>
<p style="text-align: justify;">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.</p>
<p style="text-align: justify; padding:15px 0px;"><a href="https://scalegrid.io/blog/wp-content/uploads/2020/06/ScaleGrid-vs-DigitalOcean-MySQL-Latency-Chart.jpg"><img class="alignnone size-full wp-image-5516" src="https://scalegrid.io/blog/wp-content/uploads/2020/06/ScaleGrid-vs-DigitalOcean-MySQL-Latency-Chart.jpg" alt="ScaleGrid MySQL vs DigitalOcean Managed Databases - Latency Performance Graph" width="100%" height="auto" /></a></p>

<table style="margin-top: 15px;" width="100%">
<tbody>
<tr>
<td style="padding: 15px; background: #def5fe;"><span style="font-size: 18px;">In the above chart, we compare ScaleGrid vs. DigitalOcean MySQL latency across the common workloads for 150 threads, and see that</span><span style="font-size: 18px; font-weight: bold;"> on average, ScaleGrid achieves almost 30% lower latency over DigitalOcean for the same deployment configurations.</span></td>
</tr>
</tbody>
</table>


<p style="text-align: justify; padding-top:20px;">Now let’s take a look at the latency across different thread counts for read-intensive, balanced workload, and write-intensive scenarios.</p>

<h3 style="padding-top: 15px; padding-bottom:10px;">Read-Intensive Latency Benchmark</h3>
<table width="100%">
<tbody>
<tr>
<th style="width: 36%;"><b>Client Threads</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #2da964; color: #fff;"><b>ScaleGrid</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #273039; color: #fff;"><b>DigitalOcean</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #def5fe;"><b>ScaleGrid Improvement</b></th>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">25</td>
<td style="padding: 10px; border: 1px solid #eee;">61</td>
<td style="padding: 10px; border: 1px solid #eee;">92</td>
<td style="padding: 10px; border: 1px solid #eee;">-33.8%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">50</td>
<td style="padding: 10px; border: 1px solid #eee;">112</td>
<td style="padding: 10px; border: 1px solid #eee;">152</td>
<td style="padding: 10px; border: 1px solid #eee;">-26.4%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">100</td>
<td style="padding: 10px; border: 1px solid #eee;">213</td>
<td style="padding: 10px; border: 1px solid #eee;">279</td>
<td style="padding: 10px; border: 1px solid #eee;">-23.6%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">150</td>
<td style="padding: 10px; border: 1px solid #eee;">336</td>
<td style="padding: 10px; border: 1px solid #eee;">419</td>
<td style="padding: 10px; border: 1px solid #eee;">-19.9%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">175</td>
<td style="padding: 10px; border: 1px solid #eee;">388</td>
<td style="padding: 10px; border: 1px solid #eee;">496</td>
<td style="padding: 10px; border: 1px solid #eee;">-21.8%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">200</td>
<td style="padding: 10px; border: 1px solid #eee;">456</td>
<td style="padding: 10px; border: 1px solid #eee;">594</td>
<td style="padding: 10px; border: 1px solid #eee;">-23.2%</td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding-top:20px;">On average, ScaleGrid for MySQL achieved a 24.8% lower latency over DigitalOcean Managed Databases from read-intensive scenarios across all thread counts.</p>

<h3 style="padding-top: 15px; padding-bottom:10px;">Balanced Workload Latency Benchmark</h3>
<table width="100%">
<tbody>
<tr>
<th style="width: 36%;"><b>Client Threads</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #2da964; color: #fff;"><b>ScaleGrid</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #273039; color: #fff;"><b>DigitalOcean</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #def5fe;"><b>ScaleGrid Improvement</b></th>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">25</td>
<td style="padding: 10px; border: 1px solid #eee;">39</td>
<td style="padding: 10px; border: 1px solid #eee;">53</td>
<td style="padding: 10px; border: 1px solid #eee;">-26.3%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">50</td>
<td style="padding: 10px; border: 1px solid #eee;">67</td>
<td style="padding: 10px; border: 1px solid #eee;">87</td>
<td style="padding: 10px; border: 1px solid #eee;">-23.6%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">100</td>
<td style="padding: 10px; border: 1px solid #eee;">117</td>
<td style="padding: 10px; border: 1px solid #eee;">158</td>
<td style="padding: 10px; border: 1px solid #eee;">-25.7%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">150</td>
<td style="padding: 10px; border: 1px solid #eee;">170</td>
<td style="padding: 10px; border: 1px solid #eee;">246</td>
<td style="padding: 10px; border: 1px solid #eee;">-30.8%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">175</td>
<td style="padding: 10px; border: 1px solid #eee;">197</td>
<td style="padding: 10px; border: 1px solid #eee;">300</td>
<td style="padding: 10px; border: 1px solid #eee;">-34.3%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">200</td>
<td style="padding: 10px; border: 1px solid #eee;">222</td>
<td style="padding: 10px; border: 1px solid #eee;">342</td>
<td style="padding: 10px; border: 1px solid #eee;">-35.1%</td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding-top:20px;">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.</p>

<p style="text-align: justify;">If you're also deploying PostgreSQL, and interested to see how these two providers compare across throughput and latency, check out our <a style="color: #2da964;" href="https://scalegrid.io/blog/comparing-postgresql-digitalocean-performance-pricing-scalegrid-vs-digitalocean-managed-databases/" target="_blank">Comparing PostgreSQL DigitalOcean Performance & Pricing – ScaleGrid vs. DigitalOcean Managed Databases</a> post</p>

<h3 style="padding-top: 15px; padding-bottom:10px;">Write-Intensive Latency Benchmark</h3>
<table width="100%">
<tbody>
<tr>
<th style="width: 36%;"><b>Client Threads</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #2da964; color: #fff;"><b>ScaleGrid</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #273039; color: #fff;"><b>DigitalOcean</b></th>
<th style="width: 18%; padding: 10px; border: 1px solid #eee; background: #def5fe;"><b>ScaleGrid Improvement</b></th>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">25</td>
<td style="padding: 10px; border: 1px solid #eee;">45</td>
<td style="padding: 10px; border: 1px solid #eee;">55</td>
<td style="padding: 10px; border: 1px solid #eee;">-17.5%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">50</td>
<td style="padding: 10px; border: 1px solid #eee;">74</td>
<td style="padding: 10px; border: 1px solid #eee;">93</td>
<td style="padding: 10px; border: 1px solid #eee;">-20.9%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">100</td>
<td style="padding: 10px; border: 1px solid #eee;">119</td>
<td style="padding: 10px; border: 1px solid #eee;">166</td>
<td style="padding: 10px; border: 1px solid #eee;">-28.5%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">150</td>
<td style="padding: 10px; border: 1px solid #eee;">164</td>
<td style="padding: 10px; border: 1px solid #eee;">261</td>
<td style="padding: 10px; border: 1px solid #eee;">-37.4%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">175</td>
<td style="padding: 10px; border: 1px solid #eee;">192</td>
<td style="padding: 10px; border: 1px solid #eee;">311</td>
<td style="padding: 10px; border: 1px solid #eee;">-38.1%</td>
</tr>
<tr>
<td style="padding: 10px; border: 1px solid #eee;">200</td>
<td style="padding: 10px; border: 1px solid #eee;">219</td>
<td style="padding: 10px; border: 1px solid #eee;">359</td>
<td style="padding: 10px; border: 1px solid #eee;">-38.9%</td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding-top:20px;">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.</p>

<h2 style="padding-top: 15px;">MySQL Benchmark Setup</h2>
<p style="text-align: justify;">Here is a breakdown of the benchmark configurations we used to compare MySQL deployments at ScaleGrid and DigitalOcean.</p>

<h3 style="padding-top: 15px; padding-bottom:10px;">Sysbench Configuration</h3>
<table width="100%">
<tbody>
<tr>
<th style="width: 50%; padding: 10px; border: 1px solid #eee; background: #def5fe;"><b>Configuration</b></th>
<th style="width: 50%; padding: 10px; border: 1px solid #eee; background: #def5fe;"><b>Details</b></th>
</tr>
<tr>
<td style="padding: 8px 10px; border: 1px solid #eee;">Tool</td>
<td style="padding: 8px 10px; border: 1px solid #eee;"><a style="color: #2da964;" href="https://github.com/akopytov/sysbench" target="_blank">Sysbench version 1.0.20</a></td>
</tr>
<tr>
<td style="padding: 8px 10px; border: 1px solid #eee;">Host</td>
<td style="padding: 8px 10px; border: 1px solid #eee;">Medium (4 vCPUs, 8GB RAM) SF03 region</td>
</tr>
<tr>
<td style="padding: 8px 10px; border: 1px solid #eee;"># Tables</td>
<td style="padding: 8px 10px; border: 1px solid #eee;">100</td>
</tr>
<tr>
<td style="padding: 8px 10px; border: 1px solid #eee;"># Rows per table</td>
<td style="padding: 8px 10px; border: 1px solid #eee;">2,000,000</td>
</tr>
<tr>
<td style="padding: 8px 10px; border: 1px solid #eee;"># Threads</td>
<td style="padding: 8px 10px; border: 1px solid #eee;">25-200</td>
</tr>
<tr>
<td style="padding: 8px 10px; border: 1px solid #eee;">Random numbers distribution</td>
<td style="padding: 8px 10px; border: 1px solid #eee;">Uniform</td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding-top:20px;">We used two DigitalOcean Droplets to benchmark each instance simultaneously.</p>

<h3 style="padding-top: 15px; padding-bottom:10px;">MySQL Parameters</h3>
<table width="100%">
<tbody>
<tr>
<th width="30%"><b>Configuration</b></th>
<th style="background-color: #2da964; padding: 10px; color: #fff;" width="35%"><b>ScaleGrid</b></th>
<th style="background-color: #273039; padding: 10px; color: #fff;" width="35%"><b>DigitalOcean</b></th>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">MySQL Version</td>
<td style="border: 1px solid #eee; padding: 10px;">8.0.20</td>
<td style="border: 1px solid #eee; padding: 10px;">8.0.20</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">innodb_buffer_pool_size</td>
<td style="border: 1px solid #eee; padding: 10px;">5GB</td>
<td style="border: 1px solid #eee; padding: 10px;">3.6GB</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">innodb_log_file_size</td>
<td style="border: 1px solid #eee; padding: 10px;">1</td>
<td style="border: 1px solid #eee; padding: 10px;">2.2</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">Innodb_io_capacity</td>
<td style="border: 1px solid #eee; padding: 10px;">3,000</td>
<td style="border: 1px solid #eee; padding: 10px;">200</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">innodb_io_capacity_max</td>
<td style="border: 1px solid #eee; padding: 10px;">6,000</td>
<td style="border: 1px solid #eee; padding: 10px;">2000</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">binlog_group_commit_sync_delay</td>
<td style="border: 1px solid #eee; padding: 10px;">0</td>
<td style="border: 1px solid #eee; padding: 10px;">0</td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding-top:20px;">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.</p>

<h4 style="padding-top: 15px;">Read-Intensive Workload</h4>
<p style="text-align: justify;">80% reads and 20% writes, with 12 reads and 3 writes per transaction.</p>

<h4 style="padding-top: 15px;">Balanced Workload</h4>
<p style="text-align: justify;">50% reads and 50% writes, running 3 selects, 1 insert, 1 update and 1 delete as part of each transaction.</p>

<h4 style="padding-top: 15px;">Write-Intensive Workload</h4>
<p style="text-align: justify;">20% reads and 80% writes, with 4 writes and 1 read for every transaction.</p>

<h2 style="padding-top: 15px;"><a id="3"></a>MySQL on DigitalOcean Pricing</h2>
<p style="text-align: justify;">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:</p>
<p style="text-align: justify; padding:15px 0px;"><a href="https://scalegrid.io/blog/wp-content/uploads/2020/06/ScaleGrid-vs-DigitalOcean-MySQL-Pricing-Chart.jpg"><img class="alignnone size-full wp-image-5519" src="https://scalegrid.io/blog/wp-content/uploads/2020/06/ScaleGrid-vs-DigitalOcean-MySQL-Pricing-Chart.jpg" alt="ScaleGrid MySQL vs DigitalOcean Managed Databases - Pricing Chart" width="100%" height="auto" /></a></p>
<p style="text-align: justify;">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 <a style="color: #2da964;" href="https://scalegrid.io/postgresql.html" target="_blank">PostgreSQL</a> and <a style="color: #2da964;" href="https://scalegrid.io/redis.html" target="_blank">Redis</a> at the same price, and ScaleGrid is the only DBaaS to offer support for <a style="color: #2da964;" href="https://scalegrid.io/mongodb/digitalocean.html" target="_blank">MongoDB® database on DigitalOcean</a>.</p>
<p style="text-align: justify;">ScaleGrid also offers a <a style="color: #2da964;" href="https://scalegrid.io/pricing.html?db=MYSQL&amp;cloud=cloud_digital_ocean&amp;replica=deployment_standalone&amp;instance=Nano#section_pricing_dedicated" target="_blank">Nano plan</a> 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 <a style="color: #2da964;" href="https://scalegrid.io/pricing/offers/startup-program.html#section_apply" target="_blank">Startup Program</a> where early-stage companies can get 50% off their MySQL hosting on DigitalOcean for up to 12 months.</p>

<h2 style="padding-top: 15px;">Features for MySQL DigitalOcean</h2>
<p style="text-align: justify; padding-bottom:10px;">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:</p>

<table>
<tbody>
<tr>
<th width="33.3%"></th>
<th style="background-color: #2da964; padding: 10px; color: #fff;" width="33.3%"><b>ScaleGrid PostgreSQL</b></th>
<th style="background-color: #273039; padding: 10px; color: #fff;" width="33.3%"><b>DigitalOcean PostgreSQL</b></th>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">Supported MySQL Versions</td>
<td style="border: 1px solid #eee; padding: 10px;">5.6.x, 5.7.x, 8.0.x</td>
<td style="border: 1px solid #eee; padding: 10px;">8.0.x</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">MySQL Super User Access</td>
<td style="border: 1px solid #eee; padding: 10px;">Yes</td>
<td style="border: 1px solid #eee; padding: 10px;">No</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">Replication Options</td>
<td style="border: 1px solid #eee; padding: 10px;">Semisynchronous &amp; Asynchronous</td>
<td style="border: 1px solid #eee; padding: 10px;">Asynchronous</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">MySQL Configuration Management &amp; Tuning</td>
<td style="border: 1px solid #eee; padding: 10px;">Yes</td>
<td style="border: 1px solid #eee; padding: 10px;">No</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">On-Demand Slow Query Analysis</td>
<td style="border: 1px solid #eee; padding: 10px;">Yes</td>
<td style="border: 1px solid #eee; padding: 10px;">No</td>
</tr>
<tr>
<td style="border: 1px solid #eee; padding: 10px; background: #f9f9f9;">24/7 Support Included</td>
<td style="border: 1px solid #eee; padding: 10px;">Yes</td>
<td style="border: 1px solid #eee; padding: 10px;">Business support only available for accounts over $500/month</td>
</tr>
</tbody>
</table>
<p style="text-align: justify; padding:20px 0px;">These are just a few of the advanced MySQL management features. To compare the full list, check out the <a style="color: #2da964;" href="https://scalegrid.io/mysql/hosting-comparison/scalegrid-vs-digitalocean.html" target="_blank">ScaleGrid vs. DigitalOcean MySQL</a> page.</p>