Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej Rozumiem

OpCache - czyli nowości w PHP 5.5

Powoli na naszych hostingach pojawia się PHP 5.5 a z nim chyba największa od dłuższego czasu rewolucja. Mowa rzecz jasna o Opcache, czyli  "Opcode Cache". Jest to odpowiednik APC cache jednak bezpieczniejszy i w zasadzie lepiej napisany. Technologia trafiła do darmowego PHP 5.5 dzięki uprzejmości ekipy Zend Frameworka która jak wiemy jest ściśle powiązana z twórcami PHP.
W PHP5.5 wprowadzono szereg nowości a są to między innymi:
  • finally - jest to rozszerzenie wyjątków
  • haszwoanie haseł - dodano api pomagające w haszowaniu haseł
  • ulepszenia w foreach - obsługa list w pętli, dzięki temu możemy zredukować liczbę tworzonych zmiennych.
  • generatory - pomaga w implementacji iteratorów
  • rozszerzona funkcjonalność empty()
Jednak wszystkie te nowości mają się nijak do Opcache. Dzięki zastosowaniu tej technologii nasze strony znacznie przyśpieszą, przeprowadziliśmy testy wydajności za pomocą Apache Benchmarka i wyniki są powalające.
 
W przypadku testu wykonywanego na stronie opartej o Windu CMS, dla 100 requestów z 2 jednoczesnymi odpytaniami, po włączeniu OpCache uzyskaliśmy dosłownie 2 razy większą wydajność skryptu! Wszystko to jest dostępne w standardzie bez konieczności zmiany kodu naszej strony!
 
Wynik testu z wyłączonym akceleratorem

opcachetest1


Wynik z włączonym akceleratorem

opcachetest2
 
Działanie akceleratora polega na zapisywaniu wyników działania poszczególnych skryptów wykonywanych przez nasz serwer w pamięci podręcznej RAM naszego serwera. W przypadku gdy dany skrypt wykonywany jest wielokrotnie i za każdym razem zwraca taki sam wynik, wynik ten nie jest kompilowany ponownie a zamiast tego zwracany jest w pamięci podręcznej. Negatywnym skutkiem takiego akceleratora jest mały lag w przypadku edycji kodu. Po zmianie plików i odświeżeniu strony nie zobaczymy zmian, dopiero po około 2-3s system odświeży dane i pokaże nam wynik zmiennego kodu PHP.

Dodatkowym benefitem związanym w wykorzystaniem tej technologii jest znaczne obniżenie obciążenia naszego serwera a co za tym idzie obniżenie kosztów jego utrzymania. 

Przejście na PHP 5.5 z automatu sprawi że nasze strony zaczną działać znacznie szybciej i zuzywać mniej zasobów. W mojej ocenie jest to bardzo pozytywna i ważna zmiana!