Memoria sessioni Magento: Redis vs. Memcached


10

Sto eseguendo un Magento EE 1.12.2 (ugualmente in CE 1.7.2) in cui abbiamo Redis per la memorizzazione nella cache ( estensione Cm_Cache, Redis v 2.2.12 ), ma utilizziamo Memcache per l'archiviazione delle sessioni.

Redis non è supportato per queste versioni di Magento. Quindi la mia preoccupazione qui è:

  • Vale la pena la seccatura di archiviare la sessione in Redis in termini di sforzo rispetto al miglioramento della velocità?
  • Memcache non è altrettanto buono o forse anche migliore?

In questo progetto abbiamo file di sessione di grandi dimensioni in quanto è necessario archiviare file XML di terze parti nella sessione, quindi l'ottimizzazione della lettura e della scrittura della sessione può avere un impatto notevole.

Da local.xml:

<session_save><![CDATA[memcache]]></session_save>

E:

<cache>
    <backend>Cm_Cache_Backend_Redis</backend>
    [...]
</cache>

Risposte:


11

Secondo il mio concetto, Redis è molto buono:

Memcached è Free & open source, archivio valori-chiave in memoria, sistema di memorizzazione cache degli oggetti di memoria distribuito ad alte prestazioni.

Redis è un archivio dati open source, in rete, in memoria, con valori-chiave con durata opzionale.

Per colpa di

  1. Memcached è un archivio di chiavi / valori in memoria volatile. Redis può agire come uno (e fare quel lavoro oltre a Memcached)
  2. La sua architettura è adatta per un salvataggio più veloce dei dati.
  3. Recupero dati più veloce
  4. Persistenza su disco, per impostazione predefinita
  5. Valori fino a 512 MB di dimensione (Memcached limitato a 1 MB per chiave)
  6. Cluster integrato

Redis non supporta LRU o una politica simile per la gestione del sovraccarico Redis non supporta CAS (verifica e imposta) che è utile per mantenere la coerenza della cache - vedi Quali sono le fonti più comuni di incoerenza della cache di Memcached? (sebbene ci sia un'operazione SETNX che rende ciò non necessario)

inserisci qui la descrizione dell'immagine

Maggiori dettagli: Stackoverflow "Memcached vs. Redis?"

Alcuni dettagli con il supporto dati più veloce di Redis: Redis.io


Ok, è un bel confronto e il link fornisce molte informazioni sulle differenze tra i due. Ma vale davvero la pena provare quando già usi Memcache per cambiarlo in Redis?
7

yes.it solo quando utilizzerai redis ... Usi redis su Magento EE 1.12.2.be
Amit Bera

7ochem, mi dai un voto negativo?
Amit Bera

3
Ottimo contributo stava avendo la stessa domanda. usando redis ora. lavorando magnificamente su 1 negozio, ma un po 'meno efficace su un altro. sicuro di provare anche il memchache. @AmitBera puoi impilare memcache + apc o redis + apc e come sarebbe un local.xml allora.
Kay Int Veen,

3
"Redis non supporta LRU o alcuna politica simile per la gestione del sovraccarico" - potresti voler colpirlo , a meno che tu non intenda qualcosa di diverso. Inoltre, poiché l'OP sta cercando di migrare le sessioni invece della cache su Redis, lo sfratto della sessione è idealmente basato sul tempo e non sulla base delle dimensioni, quindi LRU non è un bonus.
Melvyn,

6

CM Redis Cache in 1.7.2 non è un hack, Magento ha appena aggiunto il codice per impostazione predefinita a 1.8+ perché funziona così bene e viene implementato facilmente.

Redis supporta la cache e la sessione nella stessa istanza del server a causa dei database. In memcached avresti probabilmente avviato più istanze di memcached.

Memcached ha anche la possibilità di scrivere su disco, questo può essere usato per salvare sessioni dopo un riavvio del servizio. Durante la scrittura su disco, memcached può dare errori sul tuo sito perché si bloccherà per alcuni istanti. Redis lo gestirà meglio come già mostrato in altre domande su questo Stack.

Quindi consiglierei Redis su memcached.


5

Questa purtroppo non è una risposta in bianco e nero. Quindi, ti darò i pro e i contro:

memcache:

  • limite di dati hardcoded (non scartare questo problema, le sessioni di amministrazione possono facilmente crescere oltre)
  • si blocca durante il salvataggio su disco
  • prestazione leggermente peggiore
  • L'estensione Magento non ha difese bot

Redis:

  • Problemi di blocco in Sessione :: letti in alcuni negozi, causati dall'accesso simultaneo alla sessione.
  • Supporto per più database in un'istanza, ma con alcuni avvertimenti.
  • L'estensione Magento ha il supporto per la difesa contro i robot e include script di migrazione
  • L'estensione Magento supporta l'algoritmo di compressione scattante
  • Base di codice mantenuta più attivamente

Ora, se la velocità è la tua unica preoccupazione, esegui semplicemente un test di carico. Un account gratuito su Blazemeter ti consente di lavorare con 50 utenti virtuali, il che dovrebbe essere sufficiente per misurare le differenze.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.