Redis è un archivio di valori-chiave avanzato. In effetti, è il negozio di valori chiave numero uno e l'ottavo database più popolare al mondo. Ha un throughput elevato e viene eseguito dalla memoria, ma ha anche la capacità di mantenere i dati su disco. Redis è un'ottima soluzione di memorizzazione nella cache per applicazioni molto esigenti e sono disponibili molte soluzioni per aiutarti a distribuire e gestire Redis nel cloud. In questo post, confronteremo le prestazioni e le funzionalità di gestione di ScaleGrid for Redis™ e Cache di Azure per Redis per aiutarti a scegliere la migliore soluzione gestita per la tua distribuzione Redis.
ScaleGrid è un provider DBaaS che fornisce hosting completamente gestito non solo per Redis™, ma anche per database MongoDB®, MySQL e PostgreSQL. Il piano Bring Your Own Cloud (BYOC) ospita il server di database nel tuo account AWS, Azure o GCP.
Azure fornisce un servizio ospitato per Redis chiamato Cache di Azure per Redis.
In sintesi:TLDR | ||||||
---|---|---|---|---|---|---|
|
ScaleGrid for Redis™ e Azure Cache for Redis Performance Benchmark
In questo benchmark, misuriamo le prestazioni in termini di velocità effettiva e latenza. Il throughput viene misurato in operazioni al secondo (operazioni/sec) e la latenza in microsecondi. Consulta la nostra sezione Configurazioni benchmark più avanti in questo post per informazioni su come è stato configurato questo benchmark delle prestazioni.
Abbiamo confrontato le prestazioni di Redis™ con le seguenti configurazioni.
Provider | Plan Size | RAM | Costo mensile |
---|---|---|---|
ScaleGrid per Redis™ | Hosting dedicato Large su Azure | 7 GB di memoria | $607 |
Azure Cache per Redis | C3 Standard – Larghezza di banda di rete moderata | 6 GB di memoria | $ 328,50 |
Azure Cache per Redis | P1 Premium – Larghezza di banda di rete moderata | 6 GB di memoria | $ 404,42 |
Azure Cache per Redis | P2 Premium – Larghezza di banda di rete elevata | 13GB di memoria | $ 810,30 |
Prestazioni di throughput
Connessioni | ScaleGrid for Redis™ | Azure Cache C3 Std. 6 GB | Azure Cache P1 6GB | Azure Cache P2 13GB | Miglioramento ScaleGrid |
---|---|---|---|---|---|
100 | 134.667 | 16.461 | 19.881 | 38.459 | 439% |
200 | 147.551 | 16.246 | 25.361 | 35.459 | 474% |
300 | 152,341 | 15.872 | 25.346 | 35.045 | 499% |
400 | 152,624 | 15.235 | 19.043 | 37.301 | 539% |
Come possiamo vedere nel grafico sopra, ScaleGrid per Redis™ raggiunge un throughput circa 5 volte superiore rispetto a Cache di Azure per Redis se sottoposto a benchmark con 100-400 connessioni. Ad esempio, mentre il piano Cache di Azure per Redis P2 Premium da 13 GB gestisce circa 36.000 operazioni al secondo durante tutti gli scenari di connessione, ScaleGrid per Redis™ ha oltre 130.000 operazioni al secondo per tutti gli scenari. |
Prestazioni di latenza
Connessioni | ScaleGrid for Redis™ | Azure Cache C3 Std. 6 GB | Azure Cache P1 6GB | Azure Cache P2 13GB | Miglioramento ScaleGrid |
---|---|---|---|---|---|
100 | 744 | 6.809 | 5.896 | 2.497 | -85% |
200 | 1.353 | 10.950 | 8.447 | 5.565 | -84% |
300 | 2.044 | 17.807 | 13.045 | 8.539 | -84% |
400 | 2.609 | 25.126 | 16.999 | 10.716 | -85% |
Mentre la latenza della cache di Azure per Redis aumenta rapidamente all'aumentare del numero di connessioni, ScaleGrid for Redis™ raggiunge costantemente una bassa latenza in tutte conta la connessione. In media, ScaleGrid per Redis™ ha una latenza inferiore dell'85% rispetto a Cache di Azure per Redis. Ciò è particolarmente evidente quando si confronta Cache di Azure per Redis (C3 Standard 6 GB) con ScaleGrid per Redis™, dove la differenza arriva fino a -99%. |
Riepilogo benchmark
Come puoi vedere dai grafici sopra, ScaleGrid for Redis™ fornisce un throughput significativamente più elevato e una latenza inferiore. In media possiamo vedere circa 5 volte la velocità effettiva e l'85% di latenza inferiore rispetto alle dimensioni equivalenti nella cache di Azure. Il piano ScaleGrid for Redis™ BYOC parte da $ 9 al mese (720 ore + costi VM) e $ 18 al mese (720 ore) per il piano di hosting dedicato.
|
Configurazione benchmark
Diamo un'occhiata alle configurazioni che abbiamo utilizzato nel benchmark delle prestazioni:
Configurazione | Dettagli |
---|---|
Strumento benchmark | Memtier Benchmark |
Regione di Azure per Redis | Stati Uniti orientali |
Regione di Azure per l'applicazione | Stati Uniti orientali |
Tipo di distribuzione | Master-Slave |
Per ogni server Redis™, abbiamo confrontato 100, 200, 300 e 400 connessioni. Ogni connessione invia 10.000 richieste con una dimensione dei dati dell'oggetto di 32 byte per richiesta. Usiamo connessioni non SSL per connettere i server Redis™.
Non solo ScaleGrid può fornire un throughput più elevato e una latenza inferiore, ma offre anche molte altre funzionalità come l'accesso amministrativo completo, i backup pianificati e l'accesso SSH. È possibile trovare ulteriori informazioni su ScaleGrid for Redis™ in Azure sul nostro sito Web.
Cosa considerare quando si sceglie un servizio Redis™?
Quindi, con così tante opzioni di provider di servizi Redis™ completamente gestite, quali sono le caratteristiche più importanti a cui prestare attenzione? Ecco un elenco di controllo da utilizzare per scegliere il servizio di hosting Redis giusto per te:
- Server dedicato
- Scalabilità
- Persistenza dei dati
- Backup e ripristini
- Alto throughput e bassa latenza
Server dedicato
Redis è un server a thread singolo in cui i dati sono archiviati in memoria; pertanto, avere Redis in esecuzione su un server dedicato è molto importante in un ambiente di produzione. Non vuoi che il tuo server Redis combatta per la CPU e le risorse di memoria con altri servizi.
Scalabilità
Le aziende crescono e lo stesso vale per i tuoi dati. È molto importante che il tuo servizio Redis sia in grado di eseguire uno scale-up dinamico e sul posto del tuo server Redis con tempi di inattività minimi o nulli.
Persistenza dei dati
A seconda delle esigenze aziendali, potrebbe essere necessario mantenere i dati Redis nell'archiviazione fisica. Redis fornisce due opzioni di persistenza:RDB e AOF.
RDB è uno snapshot point-in-time del tuo set di dati a intervalli specificati in un file di backup del database Redis. Il file può essere trasferito ad altre istanze Redis.
AOF sta per Append Only File. Redis registra ogni operazione di scrittura che è stata modificata nel set di dati. È un modo molto affidabile per mantenere i tuoi dati.
Sia RDB che AOF possono essere abilitati contemporaneamente e hanno diversi compromessi. Per maggiori dettagli sui loro pro e contro, puoi leggere di più sulla pagina Redis Persistence su redis.io.
Il tuo servizio Redis dovrebbe fornire opzioni non solo per rendere persistenti i dati, ma anche per distribuire Redis in modalità master/replica o cluster per ridurre al minimo la possibilità di perdita di dati.
Backup e ripristini
Qualsiasi Database as a Service (DBaaS) per Redis dovrebbe anche fornire backup pianificati e su richiesta in modo da poter essere sicuri di avere sempre a disposizione una pianificazione regolare di backup e poterli eseguire se necessario prima di un evento dell'applicazione. Dovrebbe anche fornire opzioni di "ripristino backup" per database esistenti o per una nuova istanza di database.
Alto throughput e bassa latenza
Redis può fornire una veloce memorizzazione nella cache per le applicazioni. Tuttavia, a volte la latenza di rete può causare un collo di bottiglia nell'accesso ai dati da Redis. La chiave è evitare il distanziamento fisico tra la tua applicazione e Redis. Quindi, vuoi assicurarti che sia l'applicazione che Redis siano ospitati nella stessa regione del provider di servizi cloud e sulla stessa rete virtuale. Il tuo fornitore di servizi Redis dovrebbe avere la possibilità di distribuire il tuo server Redis sulla rete virtuale di tua scelta.