memcache tuned

Gerade habe ich nochmal über meine Memcache-Klasse nachgedacht. (Hier mal die Basis)
Meine Systemvoraussetzungen sind ja: 1 schwachbrüstiger Datenbankserver, 1 etwas besser bestückter App-Server mit nur 3GB Speicher.

Um mit wenig Aufwand viel zu erreichen, schreibe ich sehr sehr viel in den Memcache. Das beschleunigt das System enorm, benötigt aber mehr RAM, als ich dem Memcache geben möchte. Da CPU-Leistung das geringste Problem ist, und man wahrscheinlich eher die Appserver clustert, als doch mehr Abfragen auf die DB zu schleudern, komprimiere ich einfach die Daten:

$val = gzcompress($val, 9);
if (!$this->memcache->replace($key, $val, $compression, $lifetime)) {
return $this->memcache->set($key, $val, $compression, $lifetime);
} else {
return true;
}

Das lässt den Apache-Prozess ein wenig nach oben schnellen, schont aber Memcache gewaltig (unter 5% Speicherbenutzung im Vergleich zu vorher).
Da fehlt jetzt nur noch die Kompressionserkennung, die auch wieder zulässt, unkomprimiert zu schreiben.

Um den Speicherbedarf des Memcache zu monitoren, benutze ich übrigens die memcache-tools.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s