Baza wiedzy

OPcache

Wbudowany mechanizm PHP przechowujący skompilowany bytecode skryptów w pamięci RAM serwera, eliminując konieczność ponownej kompilacji przy każdym żądaniu.

← Wróć do bazy wiedzy

Jak to działa



Przy pierwszym uruchomieniu skryptu PHP interpreter kompiluje go do bytecode - reprezentacji pośredniej zrozumiałej dla maszyny wirtualnej Zend Engine. OPcache zapisuje ten bytecode w pamięci operacyjnej serwera (RAM).



Przy kolejnych żądaniach serwer pomija etap kompilacji i odczytuje gotowy bytecode z pamięci. To znacząco skraca czas przetwarzania, szczególnie przy wielu jednoczesnych żądaniach.



Konfiguracja



OPcache jest dostępny jako rozszerzenie PHP od wersji 5.5. Kluczowe parametry konfiguracyjne to:



  • opcache.memory_consumption - rozmiar pamięci na bytecode (MB),

  • opcache.max_accelerated_files - maksymalna liczba plików w cache,

  • opcache.revalidate_freq - częstotliwość sprawdzania zmian w plikach (sekundy),

  • opcache.validate_timestamps - czy sprawdzać timestampy plików.



Efekt wydajnościowy



  • krótszy czas odpowiedzi serwera (TTFB),

  • mniejsze obciążenie CPU,

  • lepsze zachowanie pod obciążeniem (wielu użytkowników jednocześnie),

  • szczególnie widoczna poprawa w aplikacjach z dużą liczbą plików PHP.



OPcache a dane aplikacji



OPcache cachuje bytecode PHP, nie dane aplikacji. Jednak jeśli dane są przechowywane w natywnych tablicach PHP (zamiast np. w JSON parsowanym przy każdym żądaniu), OPcache skutecznie utrzymuje je w RAM razem ze skompilowanym kodem.

Przykład wdrożenia
Powiązane pojęcia
Kontakt
Masz pytanie techniczne?

Porozmawiajmy

Chętnie wyjaśnię, jak te pojęcia przekładają się na Twój projekt.

Skontaktuj się