Mysql
 sql >> Database >  >> RDS >> Mysql

Le migliori prestazioni di MySQL DigitalOcean:ScaleGrid e database gestiti da DigitalOcean

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

Confronta il throughput

ScaleGrid ha una velocità effettiva superiore di quasi il 40% rispetto a DigitalOcean per MySQL, con una velocità effettiva superiore fino al 46% nei carichi di lavoro ad alta intensità di scrittura. Leggi ora

Confronta la latenza

In media, ScaleGrid ottiene una latenza inferiore di quasi il 30% rispetto a DigitalOcean per le stesse configurazioni di distribuzione. Leggi ora

Confronta i prezzi

ScaleGrid fornisce in media il 30% di spazio di archiviazione in più rispetto a DigitalOcean per MySQL allo stesso prezzo conveniente. Leggi ora

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 No
Opzioni di replica Semisincrono e asincrono Asincrono
Gestione e ottimizzazione della configurazione MySQL No
Analisi delle query lente su richiesta No
Supporto 24/7 incluso 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.