Memcached 1.6.0 – ein System zum Zwischenspeichern von Daten im RAM mit der Möglichkeit, diese auf externen Medien zu speichern


Memcached 1.6.0 – ein System zum Zwischenspeichern von Daten im RAM mit der Möglichkeit, diese auf externen Medien zu speichern

Am 8. März wurde das Daten-Caching-System im RAM aktualisiert Memcached bis zur Version 1.6.0. Der Hauptunterschied zu früheren Versionen besteht darin, dass es jetzt möglich ist, ein externes Gerät zum Speichern zwischengespeicherter Daten zu verwenden.

Memcached Wird verwendet, um die Arbeit stark ausgelasteter Websites oder Webanwendungen zu beschleunigen, indem der Zugriff auf das DBMS und Zwischendaten zwischengespeichert wird.

In der neuen Version ist die Option beim Erstellen standardmäßig aktiviert extstore, der für die Nutzung externer Medien verantwortlich ist. Um die Funktion zu deaktivieren, geben Sie den Parameter --disable-extstore in ./configure an. Auch wenn der Build standardmäßig aktiviert ist, sollten Sie die Verwendung dieser Funktion beim Start explizit angeben.

Extstore ermöglicht die Verwendung von externen Blinken (Flash) oder SSD Laufwerk, um die Cache-Größe zu erhöhen. Dadurch können Sie viel größere Datenmengen zwischenspeichern, als ohne diese Funktion.

Eine weitere wichtige Neuerung war die Überarbeitung der Netzwerkinteraktion, die nun für die automatische Verarbeitung von Batch-Anfragen innerhalb eines einzigen Systemaufrufs angepasst ist. In früheren Versionen wurde die Verarbeitung jeder GET-Anfrage in einem separaten Paket übertragen, während in der neuen Version Antworten auf mehrere Anfragen in einem Metapaket gesammelt und gleichzeitig übertragen werden. Durch diese Innovation wurde die CPU-Last um 25 % reduziert.

Als Ergebnis dieser Modernisierung wurde außerdem der Speicherverbrauch für die Pufferung reduziert – von 4.5 KB auf 400–500 Byte pro Aufruf, und die Verwendung der Funktionen malloc, realloc und free wurde reduziert, was zu einer geringeren Speicherfragmentierung führte. Jeder Thread verwaltet nun seinen eigenen Pool an Lese- und Schreibpuffern für aktive Verbindungen. Um die Größe dieser Puffer anzupassen, stehen die Optionen -o resp_obj_mem_limit=N und -o read_buf_mem_limt=N zur Verfügung.

Außerdem wurde bekannt gegeben, dass das Binärprotokoll für den Austausch mit dem Server in die Kategorie „veraltet“ überführt wird. Es wurde durch das Metaprotokoll ersetzt – eine Textversion des Protokolls mit kompakten Metabefehlen. Das neue Protokoll berücksichtigt alle bisher verfügbaren Operationen mit älteren Versionen des Binärprotokolls.

>>> Offiziellen Website


>>> Quellcode (BSD-Lizenz)


>>> Beschreibung von Extstore


>>> Beschreibung der Metabefehle

Source: linux.org.ru

Kommentar hinzufügen