Erinnert durch ein Beitrag von Frank : eAccelerator für WordPress habe ich mal die Aktivierung von XCache für WordPress nachvollzogen. WordPress und XCache laufen bei mir schon eine ganze Weile zusammen. Darum hoffe ich das ich kein Schritt vergessen habe ;-)
Warum XCache ? XCache lässt sich unter debian 5 einfach installieren, und ist kinderleicht zu konfigurieren.
Als erstes müssen wir sicherstellen das der XCache überhaupt installiert ist.
Unter debian installieren wir XCache dafür einfach über apt-get.
apt-get install php5-xcache
Aktiviert wird XCache in der /etc/php5/apache2/php.ini
Dazu einfach folgende Zeilen in der php.ini mit aufnehmen.
[xcache]
zend_extension = /usr/lib/php5/20060613/xcache.so
Als nächste müssen wir die var cache size einstellen.
Dazu editieren wir die Datei: /etc/php5/conf.d/xcache.ini und setzten den var cache auf mindestens 2MB (im Beispiel hier 16MB). Bei mir haben sich 4 MB als optimal erwiesen.
/etc/php5/conf.d/xcache.ini
xcache.var_size = 16M
Jetzt noch die eigentliche Cache-Größe einstellen. 64MB haben sich bei mir bewährt.
xcache.size = 64M
Anschließend nicht vergessen den Apache neu zu starten, damit die Änderungen auch wirksam werden.
Wenn wir jetzt das ganze mit php_info betrachten sollte das etwa so aussehen:
bzw. hier noch einmal:
wer keine phpinfo.php auf seinem Server hat erstellt Sie sich einfach selber:
<?php
phpinfo();
?>
Auf meinem Server habe ich den Cache auf 64M erhöht und damit gute Ergebnisse erzielt. Aber Vorsicht: der optimale Wert hängt natürlich vom verfügbaren RAM ab. Es macht kein Sinn, den Server durch zu große Cache-Werte zu zwingen, andere Sachen aus zu lagern ! Hier darf also etwas experimentiert werden.
Jetzt müssen wir nur noch WordPress dazu überreden, von dem XCache auch Gebrauch zu machen. Dazu laden wir uns die entsprechende object-cache.php herunter. Diese Datei speichern wir als /wp-content/object-cache.php.
Das wars. Jetzt sollte die Seite, beim erneuten Aufruf deutlich schneller geladen werden.
hier mal als Vergleich
einfach folgenden Code in den Footer einsetzten:
<!-- <?php printf(__('%d queries. %s seconds.', 'kubrick'),
get_num_queries(), timer_stop(0, 3)); ?> -->
ohne XCache: 14 queries. 0.316 seconds
mit XCache: 2 queries. 0.237 seconds
Entscheidend ist die Anzahl der benötigten Queries. Die benötigte Zeit ist sehr stark Last-abhängig und damit auf einem Produktive-Server nur bedingt aussagekräftig. Aber der Trend zu kürzeren Antwortzeiten sollte klar erkennbar sein.
Natürlich wollen wir auch Zugriff auf den xcache-Monitor haben. Dafür benötigen wir noch ein entsprechenden Eintrag in die der site.conf bzw. apache2.conf
Alias /XCacheAdm "/usr/share/xcache/admin/" Options Indexes MultiViews FollowSymLinks +ExecCGI Order allow,deny Allow from all
Der Monitor gibt ein guten Überblick über die Cache-Auslastung.
Update: nach etwas längerer Beobachtung stellt sich raus das bei mir xcache.var_size von 4 MB ausreichend ist.