2012-11-19 16 views
5

Quali potrebbero essere i motivi per cui Redis rallenta il lavoro/la risposta?Motivi per cui Redis rallenta

Ad esempio, ho trovato su Stackoverflow che la memorizzazione di file o dati di grandi dimensioni in Redis lo rende lento. Cos'altro?

risposta

9

Non esiste una risposta semplice a questa domanda. Con tutte le soluzioni di archiviazione basate su NoSQL o SQL, ci sono molte condizioni che potrebbero causare latenza elevata o lentezza del motore di archiviazione. Redis non fa eccezione.

vorrei suggerire di iniziare a leggere:

Ecco un elenco non esaustivo dei possibili motivi:

  • hardware inadeguato (rete, memoria, CPU)
  • Software virtualizzazione basata (Xen su hardware di fascia bassa per esempio)
  • Memoria insufficiente, generando scambio a livello operativo
  • Troppi O (n) operazioni (come CHIAVI) eseguito nel motore singolo thread
  • grandi oggetti memorizzati in Redis, portando ad espansione incontrollata dei buffer di comunicazione
  • enorme numero di sessioni simultanee (> 30000)
  • Troppi operazioni di connessione al secondo (Redis non è un server web, connessioni dovrebbero essere permanenti, non transitorio).
  • Troppi roundtrips generati dall'applicazione client (senza pipelining o comando aggregato utilizzo)
  • numerosi operazioni forcella generati da bgsave o AOF riscrittura (specialmente su VM)
  • I/latenze O correlate quando AOF viene utilizzato
  • l'accumulo di molti scadono operazioni attivate allo stesso tempo
  • l'accumulo di memoria nei dati di log lenti cliente e master/buffer di comunicazione di schiavi, o
  • TCP incast conditions quando il consumo di larghezza di banda della rete è significativo
  • Utilizzando storage distribuito (e soprattutto quelli nuvolosi, come EC2 EBS) per memorizzare discarica o AOF file

Ci sono probabilmente molti altri motivi, legati al carico di lavoro generato dalla propria applicazione.

Se alcune persone pensano ad altre ragioni generali, possiamo aggiungerle a questa lista.

+0

Grazie! Penso che sia un'ottima risposta per me da dove cominciare. – shalakhin

Problemi correlati