Am 8. März wurde das System zur Daten-Caching im Arbeitsspeicher aktualisiert. Memcached bis zur Version 1.6.0. Der Hauptunterschied zu vorherigen Versionen besteht darin, dass nun ein externes Gerät für den Cache-Speicher verwendet werden kann.
Memcached wird verwendet, um die Leistung stark ausgelasteter Webseiten oder Webanwendungen zu verbessern, indem der Zugriff auf die Datenbank und Zwischendaten zwischengespeichert wird.
In der neuen Version ist standardmäßig die Option aktiviert, extstore, die für die Verwendung des externen Speichers verantwortlich ist. Um diese Funktion zu deaktivieren, geben Sie im ./configure-Parameter --disable-extstore an. Trotz der standardmäßig aktivierten Option muss diese Funktion beim Start explizit angegeben werden.
Extstore ermöglicht die Nutzung externer Flash oder SSD Speichermedien zur Vergrößerung der Cache-Größe. Dadurch können wesentlich größere Datenmengen zwischengespeichert werden als ohne diese Funktion.
Eine weitere wichtige Neuerung ist die Überarbeitung der Netzwerkinteraktion, die jetzt für die automatische Verarbeitung von Batch-Anfragen innerhalb eines einzigen Systemaufrufs angepasst wurde. In früheren Versionen wurde jede GET-Anfrage in einem separaten Paket verarbeitet, während in der neuen Version Antworten auf mehrere Anfragen in einem Metapakets gesammelt und gleichzeitig übermittelt werden. Durch diese Neuerung wurde die CPU-Auslastung um 25 % gesenkt.
Durch diese Modernisierung wurde auch der Speicherverbrauch für die Pufferung reduziert – von 4,5 KB auf 400-500 Bytes pro Aufruf, und die Verwendung von Funktionen wie malloc, realloc und free wurde verringert, was zu einer geringeren Fragmentierung des Speichers führte. Jeder Thread verarbeitet jetzt seinen eigenen Bufferpool zum Lesen und Schreiben für aktive Verbindungen. Zur Anpassung der Größe dieser Puffer stehen die Optionen -o resp_obj_mem_limit=N und -o read_buf_mem_limit=N zur Verfügung.
Es wurde ebenfalls angekündigt, dass das binäre Serverprotokoll als "veraltet" eingestuft wird. An seiner Stelle tritt das Protokoll meta – eine textbasierte Version des Protokolls mit kompakten meta-Befehlen. Im neuen Protokoll sind alle zuvor verfügbaren Operationen berücksichtigt, die die alten Versionen des binären Protokolls verwendet haben.
>>> Quellcode (BSD-Lizenz)
>>> Beschreibung von meta-Befehlen
Quelle: linux.org.ru

