sql >> Database >  >> RDS >> Mysql

Beste MySQL DigitalOcean-prestaties - ScaleGrid versus door DigitalOcean beheerde databases

MySQL is de nummer één open source-database aller tijden ter wereld en een nietje in de RDBMS-ruimte. DigitalOcean bouwt snel zijn reputatie op als de ontwikkelaarscloud door een betaalbaar, flexibel en gebruiksvriendelijk cloudplatform te bieden waarmee ontwikkelaars kunnen werken. MySQL op DigitalOcean is een natuurlijke match, maar wat is de beste manier om uw clouddatabase te implementeren? In dit bericht gaan we de twee beste providers vergelijken, DigitalOcean Managed Databases voor MySQL versus ScaleGrid MySQL-hosting op DigitalOcean.

In één oogopslag – TLDR

Vergelijk doorvoer

ScaleGrid heeft een gemiddeld bijna 40% hogere doorvoer dan DigitalOcean voor MySQL, met een tot 46% hogere doorvoer bij schrijfintensieve workloads. Lees nu

Vergelijk latentie

Gemiddeld bereikt ScaleGrid bijna 30% lagere latentie dan DigitalOcean voor dezelfde implementatieconfiguraties. Lees nu

Prijzen vergelijken

ScaleGrid biedt gemiddeld 30% meer opslagruimte dan DigitalOcean voor MySQL tegen dezelfde betaalbare prijs. Lees nu

MySQL DigitalOcean prestatiebenchmark

In deze benchmark vergelijken we equivalente abonnementsgroottes tussen ScaleGrid MySQL op DigitalOcean en DigitalOcean Managed Databases for MySQL. We gaan een veelgebruikte, populaire abonnementsgrootte gebruiken met de onderstaande configuraties voor deze prestatiebenchmark:

Vergelijkingsoverzicht

ScaleGrid DigitalOcean
Instance Type Medium:4 vCPU's Medium:4 vCPU's
MySQL-versie 8.0.20 8.0.20
RAM 8GB 8GB
SSD 140 GB 115 GB
Deployment Type Standalone Standalone
Regio SF03 SF03
Ondersteuning Inbegrepen Ondersteuning op zakelijk niveau inbegrepen bij accountgroottes van meer dan $ 500/maand
Maandelijkse prijs $120 $120

Zoals u hierboven kunt zien, bieden ScaleGrid en DigitalOcean dezelfde abonnementsconfiguraties voor deze abonnementsgrootte, behalve SSD waar ScaleGrid meer dan 20% meer opslagruimte biedt voor dezelfde prijs.

Om de meest nauwkeurige resultaten in onze prestatietests te garanderen, voeren we de benchmark vier keer uit voor elke vergelijking om de gemiddelde prestaties te vinden over doorvoer en latentie over leesintensieve workloads, gebalanceerde workloads , en schrijfintensieve werkbelastingen.

Doorvoer

In deze benchmark meten we de MySQL-doorvoer in termen van query's per seconde (QPS) om onze query-efficiëntie te meten. Om de resultaten snel samen te vatten, geven we hieronder leesintensieve, schrijfintensieve en evenwichtige werkbelastinggemiddelden weer voor 150 threads voor ScaleGrid vs. DigitalOcean MySQL:

Voor de gebruikelijke 150 thread-vergelijking, heeft ScaleGrid een gemiddeld bijna 40% hogere doorvoer dan DigitalOcean voor MySQL, met tot 46% hogere doorvoer in schrijfintensieve werkbelastingen.

Leesintensieve doorvoerbenchmark

Client-threads ScaleGrid DigitalOcean ScaleGrid-verbetering
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%

Voor leesintensieve workloads heeft ScaleGrid voor MySQL gemiddeld 39% hogere doorvoer dan door DigitalOcean beheerde databases voor alle threads.

Gebalanceerde werklast-doorvoerbenchmark

Client-threads ScaleGrid DigitalOcean ScaleGrid-verbetering
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%

Voor gebalanceerde workloads heeft ScaleGrid voor MySQL gemiddeld 35,4% hogere doorvoer dan door DigitalOcean beheerde databases voor alle thread-tellingen. De grootste prestatieverbetering is te zien in de rijen met een hoger aantal threads van 175 en 200 threads, waar ScaleGrid een meer dan 45% hogere doorvoer behaalt.

Schrijfintensieve doorvoerbenchmark

Client-threads ScaleGrid DigitalOcean ScaleGrid-verbetering
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%

Voor schrijfintensieve workloads heeft ScaleGrid voor MySQL gemiddeld 35,6% hogere doorvoer dan door DigitalOcean beheerde databases voor alle threads. Zoals u in de bovenstaande tabel kunt zien, bereikt ScaleGrid een meer dan 46% hogere doorvoer in threadtellingen dan 150 threads via DigitalOcean.

Latentie

Nu we de doorvoerprestaties hebben vergeleken, gaan we eens kijken naar ScaleGrid vs. DigitalOcean-latentie voor MySQL. We meten latentie in ms 95e percentiel latentie en vergelijken opnieuw leesintensieve, schrijfintensieve en gebalanceerde workloads.

In de bovenstaande grafiek vergelijken we ScaleGrid vs. DigitalOcean MySQL-latentie over de gemeenschappelijke workloads voor 150 threads, en zien dat op gemiddeld bereikt ScaleGrid bijna 30% lagere latentie dan DigitalOcean voor dezelfde implementatieconfiguraties.

Verminder #MySQL-latentie met 30% op DigitalOcean, met 40% hogere doorvoerprestatiesKlik om te tweeten

Laten we nu eens kijken naar de latentie bij verschillende thread-tellingen voor leesintensieve, evenwichtige werkbelasting en schrijfintensieve scenario's.

Leesintensieve latentiebenchmark

Client-threads ScaleGrid DigitalOcean ScaleGrid-verbetering
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%

Gemiddeld behaalde ScaleGrid voor MySQL een 24,8% lagere latentie ten opzichte van door DigitalOcean beheerde databases uit leesintensieve scenario's voor alle thread-tellingen.

Gebalanceerde werkbelastinglatentiebenchmark

Client-threads ScaleGrid DigitalOcean ScaleGrid-verbetering
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%

Gemiddeld behaalde ScaleGrid voor MySQL een 29,3% lagere latentie ten opzichte van door DigitalOcean beheerde databases op basis van evenwichtige werkbelastingscenario's voor alle threads. Het meest opvallende was dat de latentie van 175 en 200 threads met meer dan een derde werd verminderd bij ScaleGrid.

Als u ook PostgreSQL gebruikt en geïnteresseerd bent om te zien hoe deze twee providers zich verhouden op het gebied van doorvoer en latentie, bekijk dan onze PostgreSQL DigitalOcean-prestaties en prijzen vergelijken – ScaleGrid versus DigitalOcean Managed Databases posten

Benchmark voor schrijfintensieve latentie

Client-threads ScaleGrid DigitalOcean ScaleGrid-verbetering
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%

Gemiddeld behaalde ScaleGrid voor MySQL een 29,3% lagere latentie ten opzichte van door DigitalOcean beheerde databases dankzij schrijfintensieve workloads voor alle threads. Met name scenario's met 150 threads of hoger behaalden een 37% lagere latentie bij ScaleGrid in vergelijking met DigitalOcean.

MySQL Benchmark-configuratie

Hier is een overzicht van de benchmarkconfiguraties die we hebben gebruikt om MySQL-implementaties bij ScaleGrid en DigitalOcean te vergelijken.

Sysbench-configuratie

Configuratie Details
Tool Sysbench versie 1.0.20
Host Medium (4 vCPU's, 8GB RAM) SF03-regio
# tabellen 100
# Rijen per tabel 2.000.000
# Threads 25-200
Willekeurige getallenverdeling Uniform

We hebben twee DigitalOcean Droplets gebruikt om elke instantie tegelijkertijd te benchmarken.

MySQL-parameters

Configuratie ScaleGrid DigitalOcean
MySQL-versie 8.0.20 8.0.20
innodb_buffer_pool_size 5GB 3,6 GB
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 staat je niet toe om je MySQL-configuraties aan te passen, daarom zijn ze beperkt tot de standaardwaarden die hier worden weergegeven. Bij ScaleGrid kunt u uw MySQL-configuraties aanpassen om uw implementatie te optimaliseren voor uw unieke gebruiksscenario.

Leesintensieve werkbelasting

80% leest en 20% schrijft, met 12 keer lezen en 3 keer schrijven per transactie.

Gebalanceerde werklast

50% leest en 50% schrijft, 3 selecties uitvoeren, 1 invoegen, 1 update en 1 verwijderen als onderdeel van elke transactie.

Schrijfintensieve werkbelasting

20% leest en 80% schrijft, met 4 keer schrijven en 1 keer lezen voor elke transactie.

MySQL op DigitalOcean-prijzen

Prijs is natuurlijk een van de belangrijkste overwegingen als het gaat om het doen van een investering in infrastructuur. Gelukkig, zoals we hierboven hebben uiteengezet, zijn de prijzen van ScaleGrid hetzelfde als die van DigitalOcean voor MySQL als het gaat om RAM en vCPU's voor standalone, 2-node en 3-node-implementaties:

Hoewel de prijs hetzelfde is, biedt ScaleGrid ook gemiddeld 30% meer opslagruimte voor dezelfde prijs als DigitalOcean, en zoals we hierboven ontdekten, biedt het ook aanzienlijk betere prestaties. Beide providers bieden ook ondersteuning voor PostgreSQL en Redis tegen dezelfde prijs, en ScaleGrid is de enige DBaaS die ondersteuning biedt voor de MongoDB®-database op DigitalOcean.

ScaleGrid biedt ook een Nano-abonnement met 1 GB RAM, 1 core en 18 GB opslagruimte voor slechts $ 10 per maand. Dit is een geweldig betaalbaar plan voor ontwikkelaarsprojecten. Daarnaast biedt ScaleGrid een startup-programma waar beginnende bedrijven tot 12 maanden lang 50% korting kunnen krijgen op hun MySQL-hosting op DigitalOcean.

Functies voor MySQL DigitalOcean

Zowel ScaleGrid als DigitalOcean bieden de basis DBaaS-functies, zoals schalen, herstel en waarschuwingen die we gewend zijn van een provider van beheerde databases. Maar zoals elke DBA weet, is het beheren van een implementatie veel meer dan de basis. Laten we eens kijken naar enkele van de geavanceerde MySQL-functies die worden aangeboden tussen ScaleGrid en DigitalOcean:

ScaleGrid MySQL DigitalOcean MySQL
Ondersteunde MySQL-versies 5.6.x, 5.7.x, 8.0.x 8.0.x
MySQL Super User Access Ja Nee
Replicatie-opties Semisynchroon en asynchroon Asynchroon
MySQL-configuratiebeheer en afstemming Ja Nee
On-demand trage query-analyse Ja Nee
24/7 ondersteuning inbegrepen Ja Zakelijke ondersteuning alleen beschikbaar voor accounts van meer dan $ 500/maand

Dit zijn slechts enkele van de geavanceerde MySQL-beheerfuncties. Bekijk de ScaleGrid vs. DigitalOcean MySQL-pagina om de volledige lijst te vergelijken.


  1. Wanneer geërfde tabellen gebruiken in PostgreSQL?

  2. Hoe u de huidige datum in PostgreSQL kunt krijgen

  3. Hoe bouw je een kolftoepassing rond een reeds bestaande database?

  4. SQL Server ROWCOUNT_BIG()