Heute ging es mal wieder dran, den ganzen LAMP Stack hier zu optimieren, da man Geschwindigkeit nur noch durch noch mehr Geschwindigkeit ersetzen kann. Letztes mal war das Auslagern des MySQL Servers ein wichtiger Schritt, doch muss da noch mehr gehen – und wenn es mal nur der Zufall ist der einem hilft.
Aus reiner Neugierde habe ich dann angefangen, einen Redis Server zu installieren und übergab diesem das Session-Handling von PHP. Auch wenn es eigentlich keinen Vorteil an Geschwindigkeit bringen sollte, da wir uns über einen Netzwerk-Socket bewegen. Dennoch war der Geschwindigkeits-Zuwachs enorm, was mitunter daran lag, dass der Redis-Server auf localhost lag.
Doch wie implementiert man das nun? In der php.ini muss man jeglich zwei Parameter geändert werden, sofern die PHP Erweiterung zum Ansprechen des Redis Servers vorhanden ist:
session.save_handler = redis
session.save_path = „tcp://127.0.0.1:6379?auth=XXXXX“
Nach dem Neustart des Webservers lief es dann auch wirklich um Einiges schneller. Wenn man zusehen möchte wie die Sache läuft, kann man dem Redis auf die Finger schauen:
redis-cli monitor