OPcache ist ein PHP-Cache-Modul, das die Performance von Webanwendungen erheblich steigert, indem es kompilierten Bytecode zwischenspeichert und erneute Kompilierungen vermeidet. Dies reduziert CPU-Last, verkürzt Antwortzeiten und sorgt für stabilere Anwendungen. In diesem Leitfaden erfahren Einsteiger, IT-Studierende und Junior Network Engineers, wie OPcache installiert, konfiguriert und optimiert wird.
Voraussetzungen
- Linux-Server mit PHP ≥7.0
- Root- oder Sudo-Zugriff
- Webserver: Nginx oder Apache
- Grundkenntnisse in PHP-Konfiguration
OPcache Installation prüfen
OPcache ist in modernen PHP-Versionen standardmäßig enthalten. Überprüfen Sie die Installation:
php -i | grep opcache
# oder
php -m | grep opcache
Falls OPcache nicht installiert ist:
# Ubuntu/Debian
sudo apt install php-opcache -y
# CentOS/RHEL
sudo yum install php-opcache -y
OPcache aktivieren
Die Konfiguration erfolgt über die php.ini oder die 10-opcache.ini unter PHP-FPM.
sudo nano /etc/php/7.4/fpm/conf.d/10-opcache.ini
Wichtige OPcache-Parameter
opcache.enable=1– OPcache aktivierenopcache.memory_consumption=128– Speicher für Bytecode in MBopcache.interned_strings_buffer=8– Speicher für internierte Stringsopcache.max_accelerated_files=10000– Maximale Anzahl gecachter Skripteopcache.revalidate_freq=2– Prüffrequenz für Dateiveränderungen in Sekundenopcache.validate_timestamps=1– Änderungen an PHP-Dateien erkennenopcache.save_comments=1– Kommentare speichern, wichtig für Frameworks
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.validate_timestamps=1
opcache.save_comments=1
PHP-FPM neu starten
sudo systemctl restart php7.4-fpm
sudo systemctl status php7.4-fpm
Webserver neu laden
Damit Änderungen aktiv werden:
sudo systemctl reload nginx # für Nginx
sudo systemctl reload apache2 # für Apache
OPcache prüfen
Mit phpinfo() oder CLI:
php -i | grep "opcache"
# oder
php -r "var_dump(opcache_get_status());"
Optimale Speichergröße wählen
Die Größe von opcache.memory_consumption sollte abhängig von der Anzahl und Größe der PHP-Dateien angepasst werden:
- Kleine Projekte: 64–128 MB
- Mittlere CMS/Frameworks: 128–256 MB
- Große Anwendungen: 512 MB oder mehr
OPcache und Multi-Domain Setup
Bei mehreren Websites auf einem Server empfiehlt es sich, für jede Domain einen separaten PHP-FPM-Pool zu verwenden:
/etc/php/7.4/fpm/pool.d/domain1.conf
/etc/php/7.4/fpm/pool.d/domain2.conf
Jeder Pool kann eigene OPcache-Einstellungen erhalten, um Memory- und File-Limits passend zu setzen.
Monitoring
OPcache-Status sollte regelmäßig überwacht werden:
- Hit-Rate prüfen:
opcache_get_status()['opcache_statistics']['hits'] - Fehlerhafte Skripte oder Cache-Invalidierungen erkennen
- Tools: PHP OPcache Dashboard, Grafana/Prometheus
Netzwerk und Subnetze
Bei hochfrequenten Anwendungen und mehreren PHP-FPM Pools ist die IP- und Subnetzplanung wichtig, insbesondere bei Load Balancing oder Reverse Proxies.
IPv4 Subnetz
<math>
Server-IP = 192.168.160.10/24
Subnetzadresse = 192.168.160.10 & 255.255.255.0 = 192.168.160.0
Broadcastadresse = 192.168.160.0 | ~255.255.255.0 = 192.168.160.255
</math>
IPv6 Subnetz
<math>
Server-IP = 2001:db8:abcd:160::10/64
Subnetzadresse = 2001:db8:abcd:160:: & ffff:ffff:ffff:ffff:: = 2001:db8:abcd:160::0
Broadcastadresse = 2001:db8:abcd:160:ffff:ffff:ffff:ffff
</math>
Best Practices
- OPcache immer aktivieren in produktiven Umgebungen
- Memory Consumption an Projektgröße anpassen
- Revalidate Frequency nicht zu niedrig setzen, um CPU zu entlasten
- Separate FPM-Pools für unterschiedliche Domains/Projekte nutzen
- Monitoring einrichten, um Cache-Hits und Auslastung zu überwachen
- Nach Updates PHP-FPM und Webserver neu starten
- OPcache für CLI-Skripte nur bei Bedarf aktivieren
- Regelmäßige Backups der OPcache-Konfiguration
- Kompatibilität mit Frameworks testen (Laravel, Symfony, WordPress)
- Performance-Optimierungen dokumentieren
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

