Vad är OPcache?

~ 0 min
2025-03-23 10:46

 

OPcache är en PHP-opcode cache, vilket innebär att det lagrar resultatet av kompilerade PHP-skript i minnet, så att PHP-tolkaren inte behöver läsa och tolka filerna från början varje gång de körs.

 

Med andra ord: OPcache “kompilerar” dina PHP-filer en gång och återanvänder bytekoden, vilket ger snabbare exekvering och mindre CPU-belastning.

 

⚙️ Hur fungerar OPcache i praktiken?

  1. En användare begär en PHP-sida (t.ex. index.php).
  2. PHP-tolkaren kompilerar filen till opcodes (bytekod).
  3. Istället för att kompilera varje gång, lagrar OPcache denna bytekod i RAM.
  4. Vid nästa förfrågan återanvänds den redan kompilerade versionen.

 

Detta sker helt i bakgrunden och transparent för både användare och utvecklare – men ger ofta en stor prestandaskillnad, särskilt på sidor med mycket PHP-logik.

 


Hur aktiverar man OPcache?

OPcache är aktiverat som standard på våra servrar och används som standar.

För att se om det är aktivt kan du köra:

php -i | grep opcache

Eller skapa en PHP-fil med phpinfo();.

<?php
phpinfo();

Hur förhåller sig OPcache till Apache, Redis och Memcached?

Teknologi

Funktion

Typ av cache

Lagringsplats

Exempel på användning

OPcache

Cacher kompilerad PHP-bytekod

Opcode-cache

RAM

Snabbar upp PHP-exekvering

Redis

Cacher objekt/data-strukturer

Objekt-/nyckelvärdescache

RAM

Cacha sessions, transients, WooCommerce-data

Memcached

Lik Redis, enklare och snabbare

Nyckelvärdescache

RAM

Objektcache i WordPress, API-cache

Apache

Webserver

Levererar sidor, integrerar med PHP via mod_php eller PHP-FPM

Varnish / FastCGI cache

Cacher HTML-respons

Full page cache

RAM/disk

Server-side page cache

 

De fyller alltså olika roller i prestandastacken:

  • OPcache → effektiv PHP-körning
  • Redis/Memcached → snabb åtkomst till dynamisk data (t.ex. WordPress-transients)
  • Server-side cache (FastCGI/Varnish) → caching av HTML-output
  • Browser cache / CDN / Cache-plugins → ytterligare lager längre ut i kedjan

 

När gör OPcache mest nytta?

  • Sajter med många PHP-requests (WordPress, WooCommerce, Laravel etc)
  • Sajter med delad kodbas men mycket trafik (t.ex. multisite)
  • Hostingmiljöer där CPU är flaskhals
  • Där man inte ändrar kod ofta (undantag: utvecklingsmiljöer)

 


 

Resultat av röstning: 0 (0 röster)

Du kan inte kommentera den här frågan