MySQL è il database open source numero uno di tutti i tempi al mondo e un punto fermo nello spazio RDBMS. DigitalOcean sta rapidamente costruendo la sua reputazione di sviluppatore cloud fornendo una piattaforma cloud conveniente, flessibile e facile da usare con cui gli sviluppatori possono lavorare. MySQL su DigitalOcean è una scelta naturale, ma qual è il modo migliore per distribuire il tuo database cloud? In questo post, confronteremo i due principali provider, DigitalOcean Managed Databases for MySQL e ScaleGrid MySQL hosting su DigitalOcean.
In sintesi:TLDR | ||||||
---|---|---|---|---|---|---|
|
Benchmark delle prestazioni di MySQL DigitalOcean
In questo benchmark, confrontiamo le dimensioni del piano equivalenti tra ScaleGrid MySQL su DigitalOcean e DigitalOcean Managed Databases per MySQL. Utilizzeremo una dimensione del piano comune e popolare utilizzando le configurazioni seguenti per questo benchmark delle prestazioni:
Panoramica del confronto
Griglia di scala | DigitalOcean | |
---|---|---|
Tipo di istanza | Medio:4 vCPU | Medio:4 vCPU |
Versione MySQL | 8.0.20 | 8.0.20 |
RAM | 8GB | 8GB |
SSD | 140GB | 115GB |
Tipo di distribuzione | Standalone | Standalone |
Regione | SF03 | SF03 |
Supporto | Incluso | Supporto a livello aziendale incluso con dimensioni account superiori a $ 500/mese |
Prezzo mensile | $120 | $120 |
Come puoi vedere sopra, ScaleGrid e DigitalOcean offrono le stesse configurazioni del piano per questa dimensione del piano, a parte SSD dove ScaleGrid fornisce oltre il 20% di spazio di archiviazione in più per lo stesso prezzo.
Per garantire i risultati più accurati nei nostri test delle prestazioni, eseguiamo il benchmark quattro volte per ogni confronto per trovare le prestazioni medie su throughput e latenza su carichi di lavoro ad alta intensità di lettura, carichi di lavoro bilanciati e carichi di lavoro ad alta intensità di scrittura.
Produttività
In questo benchmark, misuriamo il throughput di MySQL in termini di query al secondo (QPS) per misurare l'efficienza delle query. Per riassumere rapidamente i risultati, mostriamo di seguito le medie dei carichi di lavoro ad alta intensità di lettura, scrittura e bilanciato per 150 thread per ScaleGrid e DigitalOcean MySQL:
Per il confronto comune di 150 thread, ScaleGrid ha una velocità effettiva superiore di quasi il 40% rispetto a DigitalOcean per MySQL, con un aumento fino al 46% velocità effettiva nei carichi di lavoro ad alta intensità di scrittura. |
Benchmark di throughput ad alta intensità di lettura
Thread client | ScaleGrid | DigitalOcean | Miglioramento ScaleGrid |
---|---|---|---|
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% |
Per carichi di lavoro ad alta intensità di lettura, ScaleGrid per MySQL ha una velocità effettiva superiore del 39% rispetto ai database gestiti da DigitalOcean in tutti i conteggi di thread.
Balanced Workload Throughput Benchmark
Thread client | ScaleGrid | DigitalOcean | Miglioramento ScaleGrid |
---|---|---|---|
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% |
Per carichi di lavoro bilanciati, ScaleGrid per MySQL ha una velocità effettiva superiore del 35,4% rispetto ai database gestiti da DigitalOcean in tutti i conteggi di thread. Il maggiore miglioramento delle prestazioni può essere visto nelle righe con un numero di thread più elevato di 175 e 200 thread in cui ScaleGrid raggiunge un throughput superiore di oltre il 45%.
Benchmark di throughput ad alta intensità di scrittura
Thread client | ScaleGrid | DigitalOcean | Miglioramento ScaleGrid |
---|---|---|---|
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% |
Per i carichi di lavoro ad alta intensità di scrittura, ScaleGrid per MySQL ha una velocità effettiva superiore del 35,6% rispetto ai database gestiti da DigitalOcean in tutti i conteggi di thread. Come puoi vedere dalla tabella sopra, ScaleGrid raggiunge un throughput superiore del 46% nei conteggi di thread oltre 150 thread su DigitalOcean.
Latenza
Ora che abbiamo confrontato le prestazioni di throughput, diamo un'occhiata alla latenza ScaleGrid e DigitalOcean per MySQL. Misuriamo la latenza in ms 95° percentile di latenza e di nuovo confrontiamo tra carichi di lavoro ad alta intensità di lettura, scrittura e bilanciamento.
Nel grafico sopra, confrontiamo la latenza di ScaleGrid e DigitalOcean MySQL nei carichi di lavoro comuni per 150 thread e lo vediamo su in media, ScaleGrid ottiene una latenza inferiore di quasi il 30% rispetto a DigitalOcean per le stesse configurazioni di distribuzione. |
Riduci la latenza #MySQL del 30% su DigitalOcean, con prestazioni di throughput superiori del 40%Click To Tweet
Ora diamo un'occhiata alla latenza tra diversi conteggi di thread per scenari ad alta intensità di lettura, carico di lavoro bilanciato e ad alta intensità di scrittura.
Benchmark di latenza ad alta intensità di lettura
Thread client | ScaleGrid | DigitalOcean | Miglioramento ScaleGrid |
---|---|---|---|
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% |
In media, ScaleGrid per MySQL ha ottenuto una latenza inferiore del 24,8% rispetto ai database gestiti da DigitalOcean da scenari ad alta intensità di lettura su tutti i conteggi di thread.
Balanced Workload Latency Benchmark
Thread client | ScaleGrid | DigitalOcean | Miglioramento ScaleGrid |
---|---|---|---|
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% |
In media, ScaleGrid per MySQL ha ottenuto una latenza inferiore del 29,3% rispetto ai database gestiti da DigitalOcean da scenari di carico di lavoro bilanciati su tutti i conteggi di thread. In particolare, la latenza degli scenari a 175 e 200 thread è stata ridotta di oltre un terzo su ScaleGrid.
Se stai implementando anche PostgreSQL e sei interessato a vedere come questi due provider si confrontano in termini di velocità effettiva e latenza, dai un'occhiata a Confronto delle prestazioni e dei prezzi di PostgreSQL DigitalOcean:ScaleGrid e DigitalOcean Managed Posta database
Benchmark di latenza ad alta intensità di scrittura
Thread client | ScaleGrid | DigitalOcean | Miglioramento ScaleGrid |
---|---|---|---|
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% |
In media, ScaleGrid per MySQL ha ottenuto una latenza inferiore del 29,3% rispetto ai database gestiti da DigitalOcean da carichi di lavoro ad alta intensità di scrittura su tutti i conteggi di thread. In particolare, gli scenari con 150 thread o superiori hanno raggiunto una latenza inferiore di oltre il 37% su ScaleGrid rispetto a DigitalOcean.
Impostazione benchmark MySQL
Ecco una ripartizione delle configurazioni di benchmark che abbiamo utilizzato per confrontare le distribuzioni MySQL su ScaleGrid e DigitalOcean.
Configurazione Sysbench
Configurazione | Dettagli |
---|---|
Strumento | Sysbench versione 1.0.20 |
Host | Regione SF03 media (4 vCPU, 8 GB RAM) |
# Tabelle | 100 |
# righe per tabella | 2.000.000 |
# Threads | 25-200 |
Distribuzione di numeri casuali | Uniforme |
Abbiamo utilizzato due DigitalOcean Droplet per confrontare ogni istanza contemporaneamente.
Parametri MySQL
Configurazione | Griglia di scala | DigitalOcean |
---|---|---|
Versione MySQL | 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 non ti consente di personalizzare le tue configurazioni MySQL, motivo per cui sono limitate ai valori predefiniti visualizzati qui. Su ScaleGrid, puoi personalizzare le tue configurazioni MySQL per ottimizzare la tua distribuzione per il tuo caso d'uso unico.
Carico di lavoro ad alta intensità di lettura
80% di letture e 20% di scritture, con 12 letture e 3 scritture per transazione.
Carico di lavoro bilanciato
50% legge e 50% scrive, eseguendo 3 selezioni, 1 inserimento, 1 aggiornamento e 1 eliminazione come parte di ogni transazione.
Carico di lavoro ad alta intensità di scrittura
20% di letture e 80% di scritture, con 4 scritture e 1 lettura per ogni transazione.
Prezzi MySQL su DigitalOcean
Il prezzo è ovviamente una delle considerazioni più importanti quando si tratta di fare un investimento in infrastrutture. Fortunatamente, proprio come descritto sopra, i prezzi di ScaleGrid sono gli stessi di DigitalOcean per MySQL quando si tratta di RAM e vCPU in distribuzioni standalone, a 2 e 3 nodi:
Sebbene il prezzo sia lo stesso, ScaleGrid offre anche, in media, il 30% di spazio di archiviazione in più allo stesso prezzo di DigitalOcean e, come abbiamo scoperto sopra, offre anche prestazioni significativamente più elevate. Entrambi i provider offrono anche supporto per PostgreSQL e Redis allo stesso prezzo e ScaleGrid è l'unico DBaaS a offrire supporto per il database MongoDB® su DigitalOcean.
ScaleGrid offre anche una dimensione del piano Nano con 1 GB di RAM, 1 core e 18 GB di spazio di archiviazione a soli $ 10 al mese. Questo è un ottimo piano conveniente per i progetti degli sviluppatori. Inoltre, ScaleGrid offre un programma di avvio in cui le aziende in fase iniziale possono ottenere il 50% di sconto sul proprio hosting MySQL su DigitalOcean per un massimo di 12 mesi.
Caratteristiche per MySQL DigitalOcean
Sia ScaleGrid che DigitalOcean offrono le funzionalità DBaaS di base, come il ridimensionamento, i ripristini e gli avvisi che ci si aspetta da un provider di database gestito. Ma, come ogni DBA sa, c'è molto di più nella gestione di una distribuzione rispetto alle basi. Diamo un'occhiata ad alcune delle funzionalità avanzate di MySQL offerte da ScaleGrid e DigitalOcean:
ScaleGrid MySQL | MySQL Digital Ocean | |
---|---|---|
Versioni MySQL supportate | 5.6.x, 5.7.x, 8.0.x | 8.0.x |
Accesso MySQL Super User | Sì | No |
Opzioni di replica | Semisincrono e asincrono | Asincrono |
Gestione e ottimizzazione della configurazione MySQL | Sì | No |
Analisi delle query lente su richiesta | Sì | No |
Supporto 24/7 incluso | Sì | Supporto aziendale disponibile solo per account superiori a $ 500/mese |
Queste sono solo alcune delle funzionalità avanzate di gestione di MySQL. Per confrontare l'elenco completo, controlla la pagina ScaleGrid vs. DigitalOcean MySQL.