Cache-Server: Memcached-Inhalte überleben Neustart
Die neue Version 1.5.18 des Cache-Servers Memcached kann Inhalte auch über Neustarts der Software hinweg erhalten. Dabei hilft eine Linux-Kernel-Funktion namens DAX (Direct Access).

Die Entwickler des Cache-Servers Memcached haben Version 1.5.18 ihrer Software veröffentlicht. Mit Hilfe von Memcached lassen sich bestimmte Inhalte dauerhaft im Arbeitsspeicher vorhalten, um den Zugriff darauf zu beschleunigen. Mit der nun verfügbaren Version können diese Inhalte auch über Neustarts der Anwendung hinweg erhalten werden.
Genutzt wird dafür die Funktion DAX (Direct Access), die mit Linux 4.0 eingeführt worden ist. Sie sorgt beim Einsatz von persistentem Speicher dafür, Daten direkt auszulesen und nicht über den Page Cache zu schicken. Nun kommt DAX bei Memcached zum Einsatz, damit der Cache auch Neustarts des Systems überlebt.
Das geschieht den Release Notes zufolge allerdings nicht automatisch, stattdessen müssen Admins dies konfigurieren, indem die Zeile "-e /tmpfs_mount/memory_file" als Startoption hinzugefügt wird. Bei Tmpfs_mount muss es sich um eine Ramdisk handeln, die größer sein sollte als das über den Parameter -m gesetzte Speicherlimit für Memcached.
Memcached verschiebt für die Neuerung nur Item-Daten in ein externes Mmap-File. Hashtabellen und Verbindungsdaten bleiben im üblichen Arbeitsspeicher. Nach dem Neustart liest der Daemon das File wieder ein, stellt interne Pointer wieder her und regeneriert die Hashtabellen. Das dauert, je nach Größe des Cache, ein paar Sekunden bis zu ein paar Minuten.
Fehlstart möglich
Um den Cache-Server neu zu starten, kann das Signal SIGUSR1 an den Daemon gesendet werden, woraufhin Memcached eine Datei namens /tmpfs_mount/memory_file.meta anlegt. Nach dem Neustart liest Memcached diese Datei wieder ein und fährt mit seiner Arbeit fort. Ist die erzeugte Datei nicht kompatibel oder beschädigt, schlägt der Prozess allerdings fehl und Memcached startet mit einem leeren Cache.
Die neue Funktion sei noch experimentell, schreiben die Entwickler und hoffen deshalb auf Feedback von Nutzern. Und um die Technik überhaupt verwenden zu können, müssen einige Voraussetzungen beachtet werden. So muss die Systemuhr richtig eingestellt sein und darf nicht springen, während Memcached heruntergefahren ist. Außerdem sind bestimmte Kommandos beim Neustart nicht verfügbar.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Grundsätzlich war es vorher schon möglich einen eigenen Cache-Server z.B. als Service...