Am 8. März wurde das System zur Zwischenspeicherung von Daten im Arbeitsspeicher aktualisiert. Memcached bis zur Version 1.6.0Der Hauptunterschied zu früheren Versionen besteht darin, dass nun für den Speicher der zwischengespeicherten Daten externe Geräte verwendet werden können.
Memcached wird verwendet, um die Leistung stark beanspruchter Webseiten oder Webanwendungen durch das Zwischenspeichern von Zugriffen auf die DBMS und Zwischendaten zu beschleunigen.
In der neuen Version ist bei der Standardkompilierung der Parameter aktiviert, extstoreder für die Verwendung eines externen Speichermediums verantwortlich ist. Um die Funktion zu deaktivieren, sollte im ./configure Parameter —disable-extstore angegeben werden. Trotz der standardmäßig aktivierten Kompilierung muss beim Start jedoch ausdrücklich auf die Nutzung dieser Funktion hingewiesen werden.
Extstore ermöglicht die Verwendung von externen Flash oder SSD Speichermedien zur Erhöhung der Cache-Größe. Dadurch können deutlich größere Datenmengen zwischengespeichert werden als ohne die Nutzung dieser Funktion.
Eine weitere wichtige Neuerung war die Überarbeitung der Netzwerkinteraktion, die nun für die automatische Verarbeitung von Batchanfragen im Rahmen eines einzigen Systemaufrufs optimiert wurde. In früheren Versionen wurde jede GET-Anfrage in einem separaten Paket bearbeitet, während in der neuen Version die Antworten auf mehrere Anfragen in einem einzigen Metapaket zusammengefasst und auf einmal übertragen werden. Durch diese Neuheit wurde die CPU-Auslastung um 25 % verringert.
Aufgrund dieser Modernisierung wurde auch 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 verringert, was zu einer geringeren Speicherfragmentierung führte. Jeder Thread behandelt jetzt seinen eigenen Pufferpool für das Lesen und Schreiben aktiver Verbindungen. Für die Konfiguration der Größen dieser Puffer sind die Optionen -o resp_obj_mem_limit=N und -o read_buf_mem_limit=N vorgesehen.
Außerdem wurde die binäre Protokollübertragung mit dem Server als „veraltet“ deklariert. An deren Stelle tritt das Protokoll meta – eine textbasierte Variante des Protokolls mit kompakten Meta-Befehlen. Im neuen Protokoll sind alle zuvor verfügbaren Operationen, die die alten Versionen des binären Protokolls nutzen, berücksichtigt.
>>> Quellcode (BSD-Lizenz)
>>> Beschreibung der Meta-Befehle
Quelle: linux.org.ru

