2011-11-04 11 views
7

Sto utilizzando vernice con malloc -s, 1G"Cosa succede quando Varnish Cache è pieno?

E 'attualmente in pieno al 98%. Una volta completamente pieno che cosa accadrà?

Con esso spurgo?

Forse spurgare vecchie immagini/pagine?

O meglio ancora eliminare i file con minor quantità di colpi?

risposta

10

sembra vernice usa una strategia di (almeno di recente utilizzato) LRU per rimuovere gli elementi dalla cache quando il ca che diventa pieno di cose il cui TTL (time to live) non è scaduto (quindi prima rimuovi le cose il cui TTL è scaduto, se la cache è ancora piena rimuovi le cose a cui si è recentemente accesso).

Vedi

https://www.varnish-cache.org/trac/wiki/ArchitectureLRU

Nota è possibile guardare il contatore n_lru_nuked per vedere la velocità con cui le cose vengono dalla cache a causa di LRU.

+0

Ho un sacco di oggetti con una frequenza di risposta molto bassa (circa 0,5). Sto usando il software del forum IPB e (http://community.invisionpower.com/topic/328398-unbelievable-results-with-varnish/) ed è il miglior hitrate basato sui vcls suggeriti. In tal caso, se abbassassi la cache a 512 MB, il mio tasso di probabilità peggiorerebbe correttamente? – Hayden

+0

@hydn: più piccola è la cache, minore sarà il tasso di successo ... fino a un certo punto. Pensaci in questo modo ... se la tua cache è grande quanto il tuo database, avrai una percentuale di successo del 100% (eccetto per la lettura dei record nuovi/aggiornati la prima volta). Se la tua cache è 0MB, avrai una percentuale di hit pari al 0% ... non c'è spazio nella cache quindi va sempre nel database. Di solito c'è un "punto debole" in cui una certa quantità di RAM ti dà una percentuale di successo dell'80% e devi aggiungere una quantità sproporzionata di RAM per ogni% in più. D'altra parte, se si dispone di RAM NON UTILIZZATA, potrebbe anche usarlo per la cache. –