Webserver mit APC-Cache für PHP auf dem Raspberry Pi beschleunigen (lighttpd)

Mit Raspbian Jessie geprüft.

Das Raspberry Pi bietet sich auch für den Betrieb als Webserver an. Leider ist er von seiner Hardware-Ausstattung her etwas schwach auf der Brust. Das heißt, den Webserver bekommt man ausreichend schnell ans Laufen. Anders sieht es aus, wenn der Webserver (zum Beispiel lighttpd) mit PHP5 arbeitet. Dann ist die Ausführungsgeschwindigkeit abhängig vom Modell etwas träge oder auch schon mal extrem langsam.
Hier schafft Caching Abhilfe. Beispielsweise mit APC. APC steht Alternative PHP Cache. Das ist eine Erweiterung für PHP, die den PHP-Code beschleunigen kann, indem bereits interpretierte Versionen der Scripte zwischengespeichert und optimiert werden. Werden die erneut aufgerufen, dann kommt der interpretierte Code aus dem Cache und nicht vom Interpreter.
Dank des PHP-Caches APC bekommt man den Raspberry Pi zusammen mit lighttpd und PHP zu einer akzeptablen Arbeitsgeschwindigkeit.

Aufgabe

  1. Den Webserver lighttpd um den PHP-Cache APC erweitern.

Lösung

Zuerst installiert man den PHP-Cache APC nach:

sudo apt-get update
sudo apt-get install php-apc

Dann müssen noch einige Einstellungen am APC Cache vorgenommen werden. Dazu öffnet man die APC-Konfigurationsdatei:

sudo nano /etc/php5/mods-available/apcu.ini

Hier nimmt man folgende Änderungen vor.

extension=apcu.so
apc.enabled=1
apc.file_update_protection=2
apc.optimization=0
apc.shm_size=32M
apc.include_once_override=0
apc.shm_segments=1
apc.gc_ttl=7200
apc.ttl=7200
apc.num_files_hint=1024
apc.enable_cli=0

Hinweis: Eine Cache-Größe von 32MB ist sicherlich sinnvoll ("apc.shm_size=32M"). Es gibt allerdings Anwendungen, die mehr brauchen. Wenn also APC scheinbar keine Verbesserung bringt kann man auch mit Werten von 64MB und 128MB experimentieren. Dabei muss man berücksichtigen, dass dieser Wert für die anderen Anwendungen im Arbeitsspeicher fehlt.

Zur Übernahme der Änderungen die Konfiguration des Webservers neu laden.

sudo service lighttpd force-reload

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!