Site icon bintorosoft.com

OPcache konfigurieren: PHP Performance massiv verbessern

Python Logo: Digital Art on a Code Background

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

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.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:

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:

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

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:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version