Domanda

Sono in esecuzione di un Magento EE 1.12.2 (anche nel CE 1.7.2) dove abbiamo Redis per la memorizzazione nella cacheCm_Cache estensione, Redis v 2.2.12), ma usiamo Memcache per la sessione di archiviazione.

Redis non è supportata nativamente su queste versioni di Magento.Quindi la mia preoccupazione è la seguente:

  • Vale la pena il fastidio di ottenere l'archiviazione di sessione in Redis in termini di sforzo vsmiglioramento della velocità?
  • Non è Memcache bene o forse anche meglio?

In questo progetto abbiamo grandi file di sessione come abbiamo bisogno di store di terze parti di file XML nella sessione, in modo da ottimizzare la sessione di lettura e scrittura può avere un impatto considerevole.

Da local.xml:

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

E:

<cache>
    <backend>Cm_Cache_Backend_Redis</backend>
    [...]
</cache>
È stato utile?

Soluzione

Come per il mio concetto di Redis è più buona:

Memcached è Libero e open source, in-memory key-value store, ad alte prestazioni, distribuito oggetto di memoria cache di sistema.

Redis è un open-source, in rete, in memoria, chiave-valore archivio di dati con facoltativo durata.

A causa di

  1. Memcached è un volatile in memoria di chiave/valore.Redis può agire come uno (e fare il lavoro così come Memcached)
  2. La sua architettura è adatto per il più veloce di salvare i dati.
  3. Il recupero dei dati più veloce
  4. La persistenza di disco, per impostazione predefinita
  5. Valori fino a 512MB (Memcached limitato a 1MB per tasto)
  6. Costruito nel clustering

Redis non supporta LRU o simili policy per la gestione di sovraccarico Redis non supporta il CAS (e) che è utile per mantenere la coerenza della cache - vedere Quali sono le fonti più comuni di Memcached cache incoerenza?(anche se c'è un SETNX operazione che consente di evitare questo passaggio)

enter image description here

Ulteriori dettagli: Stackoverflow "Memcached vsRedis?"

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

Altri suggerimenti

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 ed è implementato facilmente.

Redis ha il supporto per avere cache e sessione nella stessa istanza del server a causa dei database.In Memcached probabilmente avresti iniziato più istanze di Memcached.

Memcached ha anche la possibilità di scrivere sul disco, questo può essere utilizzato per salvare le sessioni dopo un riavvio del servizio.Quando si scrive sul disco, Memcached può fornire errori sul tuo sito perché bloccherà per alcuni momenti. Redis gestirà questo meglio come alcune altre domande su questo stack già mostrato.

Quindi consiglierei Redis su Memcached.

Questo, purtroppo, non è in bianco e nero, risposta.Così, io ti do i pro e i contro:

Memcache:

  • hardcoded dati limitare (non eliminare questo problema, admin sessioni può facilmente crescere al di là di esso)
  • bancarelle durante il salvataggio su disco
  • leggermente peggiori prestazioni
  • Magento estensione non ha bot-difesa

Redis:

  • Problemi di blocco in Sessione::leggi in alcuni negozi, causato da l'accesso simultaneo alla sessione.
  • Supporto per più database in un caso, ma con alcune avvertenze.
  • Magento estensione ha il supporto per la difesa contro i bot e viene fornito con script di migrazione
  • Magento estensione ha il supporto per snappy algoritmo di compressione
  • Più attivamente mantenuto una base di codice

Ora, se la velocità è la vostra unica preoccupazione, quindi basta eseguire un test di carico.Un account gratuito a Blazemeter si ottiene il 50 virtuale agli utenti di lavorare con, che dovrebbe essere sufficiente per misurare le differenze.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top