Aggiornato, vedi in fondo alla domanda (scusa) longish.
Guardando le nostre statistiche memcached penso di aver trovato un problema di cui non ero a conoscenza prima. Sembra che abbiamo una quantità stranamente elevata di spazio sprecato. Ho controllato con phpmemcacheadmin una modifica e ho trovato questa immagine che mi fissava:
Ora avevo l'impressione che lo scenario peggiore sarebbe stato il 50% di rifiuti, anche se sono il primo ad ammettere di non conoscere tutti i dettagli. Ho letto - tra l'altro - questa pagina che in effetti è piuttosto vecchia, ma lo è anche la nostra versione di memcached. Penso di capire come funziona il sistema ( ad esempio ), ma ho difficoltà a capire come potremmo arrivare al 76% di spazio sprecato.
Il tasso di sfratto che mostra phpmemcacheadmin è 2 ev/s
, quindi qui c'è qualche problema.
La domanda principale è: cosa posso fare per risolvere questo problema . Potrei lanciarci più memoria (penso che ci siano alcuni extra disponibili), forse dovrei giocherellare con la configurazione slab (è possibile anche con questa versione?), Forse ci sono altre opzioni? L'aggiornamento della versione memcached non è un'opzione rapidamente disponibile.
La domanda secondaria, per curiosità, è ovviamente se ci si aspetta un tasso di spreco di spazio del 75% (e in aumento) e, in caso affermativo, perché.
Sistema: al momento non è qualcosa su cui posso fare nulla, so che la versione memcached non è la più recente, ma queste sono le carte che mi sono state distribuite.
- Memcached 1.4.5
- Apache 2.2.17
- PHP 5.3.5
In risposta alla risposta di @DavidSchwartz: ecco le statistiche sulle lastre prodotte da phpmemcacheadmin: (ci sono più lastre tra queste)
( Ho anche incollato le statistiche un po 'più tardi in formato testo qui )
AGGIORNARE
Ho riavviato il demone con -f 1.5 e sembrava davvero buono. Dopo un po 'di riscaldamento abbiamo usato / sprecato di 50/50. Ma, come in precedenza, più tempo abbiamo avuto durante il giorno (diventa più affollato durante il giorno) ha iniziato a ricadere su quello che è attualmente: 30/70, e lo spreco è ancora in aumento. A parte questo, non so ancora da dove provenga lo "spreco". Vedo questa lastra:
**Slab 5 Stats**
Chunk Size 496.0 Bytes
Used Chunk 77502 [24.6 %]
Total Chunk 314986
Total Page 149
Wasted 117.3 MBytes
Hits 30.9 Request/sec
Evicted 0
Non è pieno, non è stato sfrattato, ma sta sprecando 117,3 MByte. Il rapido calcolo che ho fatto (correggimi se sbaglio) era:
- la lastra precedente ha una dimensione di blocco di 328, quindi nel caso peggiore questa lastra è riempita con blocchi di 329 byte.
- questo significa che sta sprecando 167 byte per blocco usato = 12942834 byte = 12,3 MB
Quindi da dove venivano gli altri 105 MB sprecati ? È il fratello maggiore proprio accanto a questo assomiglia a questo:
**Slab 6 Stats**
Chunk Size 744.0 Bytes
Used Chunk 17488 [31.0 %]
Total Chunk 56360
Total Page 40
Wasted 31.1 MBytes
Hits 107.7 Request/sec
Evicted 1109