Redis
 sql >> Database >  >> NoSQL >> Redis

Redis su Azure Performance Benchmark:ScaleGrid per Redis™ e Cache di Azure

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

Prestazioni complete

Testare le prestazioni del throughput ScaleGrid for Redis™ riesce a raggiungere un throughput fino a 5 volte superiore rispetto ad Azure Cache for Redis. Leggi ora

Prestazioni di latenza

Con una latenza media inferiore dell'85%, ScaleGrid for Redis™ supera Cache di Azure per Redis durante i test su tutti i conteggi di connessioni. Leggi ora

Configurazione benchmark

Vedere le configurazioni utilizzate in questo benchmark delle prestazioni. Leggi ora

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%.
Redis su Azure Benchmark:ottieni un throughput fino a 5 volte superiore e riduci la latenza dell'85%!Fai clic per twittare

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.

Scopri di più su come ScaleGrid for Redis™ si confronta con altri fornitori

Per ulteriori informazioni sul confronto tra i diversi fornitori di servizi Redis e ScaleGrid per Redis™, consulta la nostra tabella di confronto dei fornitori di servizi Redis in cui puoi saperne di più su ScaleGrid per Redis™.

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:

  1. Server dedicato
  2. Scalabilità
  3. Persistenza dei dati
  4. Backup e ripristini
  5. 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.