I dagens snabbrörliga webbutveckling är prestanda en kritisk faktor för att säkerställa en smidig användarupplevelse och effektiv resursanvändning på servern. PHP (Hypertext Preprocessor) är ett av de mest populära serversideskriptsspråken, men när applikationer växer i komplexitet kan det bli nödvändigt att optimera dess prestanda. En av de mest effektiva metoderna för detta är att använda Opcache, en inbyggd opcode-cachemekanism för PHP. Denna artikel guidar dig genom vad Opcache är, varför det är viktigt, och hur du installerar och konfigurerar det för optimal prestanda på en Linux-server.
Vad är Opcache?
Opcache är en mekanism som förbättrar PHP:s prestanda genom att cacha den kompilerade bytekoden av PHP-skript i delat minne. När en PHP-sida laddas, analyserar och kompilerar PHP först skriptet till bytekod som sedan exekveras. Denna process kan vara resurskrävande, särskilt för stora och komplexa applikationer.
Med Opcache sparas den kompilerade bytekoden i minnet, vilket innebär att PHP inte behöver analysera och kompilera skriptet vid varje förfrågan. Istället hämtas den cachade versionen direkt från minnet, vilket avsevärt minskar svarstider och minskar belastningen på servern. Detta resulterar i snabbare webbapplikationer och en mer effektiv användning av serverresurser.
Fördelar med att Använda Opcache
- Snabbare Svarstider: Genom att undvika upprepad kompilering av PHP-skript minskar svarstiderna avsevärt.
- Minskad Serverbelastning: Färre resurskrävande operationer leder till lägre CPU- och minnesanvändning.
- Skalbarhet: Möjliggör hantering av fler samtidiga förfrågningar utan att öka serverbelastningen.
- Enkel Installation och Konfiguration: Opcache är inbyggt i PHP och kan enkelt aktiveras och konfigureras.
Installera Opcache på Linux
Uppdatera Paketförrådet
Innan du installerar Opcache är det viktigt att uppdatera ditt paketförråd för att säkerställa att du har den senaste informationen om tillgängliga paket.
För Debian/Ubuntu-baserade system:
sudo apt update
För RHEL/CentOS-baserade system:
sudo dnf update
Installera Opcache
För Debian-baserade system som Ubuntu kan du installera Opcache med följande kommando:
sudo apt install php-opcache
För RHEL/CentOS-baserade system använder du:
sudo yum install php-opcache
Efter installationen kan du verifiera att Opcache är installerat korrekt genom att köra:
php -m | grep opcache
ELLER
php -i | grep opcache
Om du ser opcache
i utskriften betyder det att installationen har lyckats.
Konfigurera Opcache
För att Opcache ska fungera optimalt behöver du konfigurera dess inställningar i PHP:s konfigurationsfil (php.ini
). Följ stegen nedan för att göra detta:
Hitta php.ini
-filen
För att hitta platsen för din php.ini
-fil, kör:
php --ini
Detta kommando visar sökvägen till konfigurationsfilen som PHP använder.
Redigera php.ini
Öppna php.ini
med din favorittextredigerare, till exempel Nano eller Vim:
sudo vi /etc/php.ini
Lägg till eller Uppdatera Opcache-Inställningar
Lägg till eller ändra följande Opcache-inställningar i php.ini
:
; Aktivera Opcache
opcache.enable=1
; Ställ in minnesstorlek för Opcache (t.ex. 128MB)
opcache.memory_consumption=128
; Ställ in maximalt antal skript som ska cachas
opcache.max_accelerated_files=10000
; Ställ in hur ofta (i sekunder) Opcache kontrollerar efter uppdateringar
opcache.revalidate_freq=2
; Aktivera validering av filer för uppdaterade skript
opcache.validate_timestamps=1
; Ange maxfilstorlek för cachning
opcache.max_file_size=2M
; Aktivera Opcache för kommandoradsgränssnittet (CLI)
opcache.enable_cli=1
Förklaring av Inställningarna
- opcache.memory_consumption: Mängden minne som tilldelas för Opcache. Justera detta baserat på din servers tillgängliga RAM.
- opcache.max_accelerated_files: Det maximala antalet PHP-skript som Opcache kan cacha.
- opcache.revalidate_freq: Hur ofta (i sekunder) Opcache kontrollerar om skript har ändrats.
- opcache.validate_timestamps: Om aktiverat, kontrollerar Opcache om skript har uppdaterats och uppdaterar cachen vid behov.
- opcache.max_file_size: Den maximala storleken på filer som kan cachas.
- opcache.enable_cli: Gör det möjligt att använda Opcache även i kommandoradsgränssnittet.
Spara och Stäng Filen
Efter att ha gjort ändringarna, spara filen och stäng textredigeraren.
Starta om Webbservern
För att ändringarna ska träda i kraft behöver du starta om din webbserver.
För Apache:
sudo systemctl restart apache2
ELLER
sudo systemctl restart httpd
För Nginx:
sudo systemctl restart nginx
Testa Opcache
För att säkerställa att Opcache fungerar korrekt kan du skapa en PHP-informationssida.
Skapa info.php
Skapa en fil kallad info.php
i webbserverns dokumentrot (t.ex. /var/www/html/
) med följande innehåll:
<?php
phpinfo();
?>
Åtkomst till info.php
Öppna din webbläsare och navigera till http://din-server/info.php
. Leta efter sektionen ”Opcode Caching” eller ”Opcache” i utskriften. Om Opcache är korrekt installerat och konfigurerat, kommer du att se detaljerad information om dess inställningar och status.
Övervaka Opcache
För att övervaka Opcache-prestanda och få insikt i cache-statistik kan du använda verktyg som opcache-gui
.
Installera opcache-gui
Klonar repository och flyttar det till webbserverns dokumentrot:
git clone https://github.com/amnuts/opcache-gui.git
sudo mv opcache-gui /var/www/html/
Åtkomst till opcache-gui
Öppna din webbläsare och navigera till http://din-server/opcache-gui/
för att se en visuell representation av Opcache-statistiken.
Alternativ: Använda Kommandoraden
Du kan också använda kommandoraden för att få detaljerad information om Opcache-status:
php -i | grep opcache
Detta kommando visar information relaterad till Opcache, inklusive minnesanvändning och cache-hit-rate.
Slutsats
Att installera och konfigurera Opcache på din Linux-server är ett effektivt sätt att förbättra PHP-applikationers prestanda. Genom att cacha den kompilerade bytekoden minskar du serverns belastning och förbättrar svarstiderna, vilket leder till en bättre användarupplevelse. Med enkel installation och konfiguration är Opcache en oumbärlig komponent för alla som strävar efter optimal PHP-prestanda.
Mer om OPcache i vår wiki där vi har översätt PHP Manualen till Svenska
https://wiki.linux.se/index.php/OPcache
Vill du ha bilder och mer info så rekommederas den här artikel på Engelska
https://www.tecmint.com/install-opcache-optimize-php-performance/#google_vignette