Suchmaschine

Loading
Sie sind hier: Startseite -> Rootserver-Grundlagen -> memcached

Rootserver: memcached

memcache: Entlastung für die Datenbank

Die Datenbank ist - meist in Form von MySQL - zusammen mit PHP zum Dreamteam im Webdesign geworden - unabhängig davon, ob man nun eine kleine Webseite oder ein Riesenportal aufbauen möchte. Mit reinem PHP und dynamischem Inhalt, der per Datenbank geliefert wird, lässt sich eine Seite ebenso erstellen wie mit großen CMS-Varianten wie Typo3 oder Joomla.

Gerade Typo3 kann aber zum Problem werden, abhängig davon, welche Spielregeln und technischen Möglichkeiten gegeben sind. Das gilt auch für jene Leute, die einen Rootserver betreiben, weil auch für diesen gibt es Obergrenzen, die vom Anbieter festgelegt werden und auch praktische Gründe sprechen dafür, dass man die Datenbank entlasten sollte.

Wer nun einen Rootserver betreibt und gleichzeitig eine sehr große Typo3-Seite hat, kennt bald das Problem, dass Typo3 in drei Tabellen Inhalte zwischenspeichert und diese Tabellen können 1 Gigabyte und größer werden. Damit wird die Datenbank stark beansprucht und das kann auch dazu führen, dass die Speichergrenzen nicht mehr ausreichen.

Abhilfe kann hier memcached anbieten. Mit diesem Zusatz kann man den Zwischenspeicher von der Datenbank zum Arbeitsspeicher umleiten. Generell ist es so, dass bei Typo3 (aber auch bei anderen Systemen) beim erstmaligen Aufruf einer Seite die Informationen zwischengespeichert werden. Wird die Seite nochmals aufgerufen, dann muss nicht alles neu aufgebaut werden, sondern kommt aus dem Zwischenspeicher (Cache), weshalb Typo3 auch bei tausenden Einzelseiten sehr schnell dargestellt wird. Je mehr Besucher und Seiten, umso speicherintensiver wird das Ganze natürlich.

Mit memcached lässt sich umgehen, dass die Datenbank aus dem letzten Loch pfeift und man ordnet an, dass der Cache in den Arbeitsspeicher gelegt wird. Ist dieser voll, dann wird der älteste Eintrag entsorgt, um den neuen aufnehmen zu können, wobei es auch davon abhängt, wieviel Speicher zur Verfügung steht.

Als Beispiel setzen wir Debian als Betriebssystem voraus. Wenn Debian läuft und memcached zusätzlich installiert wurde, dann findet sich im Verzeichnis /etc die

memcached.conf

In dieser Datei wird festgelegt, wieviel Speicher von memcached verbraucht werden soll. Es gibt nun Hinweise, dass memcached nur soviel Speicher verbraucht, wie notwendig - aber in der Praxis zeigt sich, dass der Speicher auf jeden Fall verbraucht wird. Hat man zum Beispiel 4 GB Speicher im Server und verwendet 3 GB für memcached, dann bekommt man rasch ein Problem, weil der restliche Speicher für alle anderen Aufgaben nicht mehr ausreicht.

Die Standardeinstellung und die wesentliche Einstellung für memcached ist

-m 64

Damit wird festgelegt, wieviel Speicher memcache verwenden darf. Will man ein Gigabyte zuweisen, dann lautet die Order

-m 1024

Nach dem Speichern muss noch mit

/etc/init.d/memcached restart

memcached neu aktivieren, damit die Speichereinstellung auch wirklich funktioniert. Wichtig ist auch der Port, durch den das Tool angesprochen werden kann, der meistens auf Port 11211 eingestellt ist.

Suchmaschine
Bitte gewünschten Suchbegriff im Formular eingeben.

Loading