Memcached 1.6.0 - sistema di memorizzazione nella cache dei dati nella RAM con la possibilità di salvare su supporti esterni


Memcached 1.6.0 - un sistema per memorizzare nella cache i dati nella RAM con la possibilità di salvarli su supporti esterni

L'8 marzo è stato aggiornato il sistema di caching dei dati in RAM memcached fino alla versione 1.6.0. La differenza principale rispetto alle versioni precedenti è che ora è possibile utilizzare un dispositivo esterno per archiviare i dati memorizzati nella cache.

memcached utilizzato per accelerare il lavoro di siti o applicazioni Web altamente caricati memorizzando nella cache l'accesso al DBMS e ai dati intermedi.

Nella nuova versione, l'opzione è abilitata per impostazione predefinita durante la creazione extstore, che è responsabile dell'utilizzo dei media esterni. Per disabilitare la funzione, specificare il parametro --disable-extstore in ./configure. Tuttavia, anche se la compilazione è abilitata per impostazione predefinita, è necessario specificare esplicitamente l'utilizzo di questa funzione all'avvio.

Extstore consente l'uso esterno Cromatografia o SSD guidare per aumentare la dimensione della cache. Ciò ti consentirà di memorizzare nella cache quantità di dati molto maggiori rispetto a senza utilizzare questa funzione.

Un'altra importante innovazione è stata la rielaborazione dell'interazione di rete, che ora è adattata per l'elaborazione automatica delle richieste batch all'interno di un'unica chiamata di sistema. Nelle versioni precedenti, l'elaborazione di ciascuna richiesta GET veniva trasmessa in un pacchetto separato, mentre nella nuova versione, le risposte a più richieste vengono raccolte in un metapacchetto e trasmesse alla volta. Come risultato di questa innovazione, il carico della CPU è stato ridotto del 25%.

Inoltre, come risultato di questa modernizzazione, il consumo di memoria per il buffering è stato ridotto - da 4.5 KB a 400-500 byte per chiamata, ed è stato ridotto l'uso delle funzioni malloc, realloc e free, il che ha portato ad una minore frammentazione della memoria. Ogni thread ora gestisce il proprio pool di buffer di lettura e scrittura per le connessioni attive. Per regolare la dimensione di questi buffer, vengono fornite le opzioni -o resp_obj_mem_limit=N e -o read_buf_mem_limt=N.

È stato inoltre annunciato che il protocollo binario per lo scambio con il server verrà trasferito nella categoria “obsoleto”. È stato sostituito dal meta protocollo, una versione testuale del protocollo con meta comandi compatti. Il nuovo protocollo tiene conto di tutte le operazioni precedentemente disponibili utilizzando versioni precedenti del protocollo binario.

>>> Sito ufficiale


>>> Codice sorgente (licenza BSD)


>>> Descrizione di Extstore


>>> Descrizione dei metacomandi

Fonte: linux.org.ru

Aggiungi un commento