Grav - wydajność i buforowanie

W tym rozdziale zrozumiemy koncepcje wydajności i buforowania w Grav.

Wydajność

Termin wydajność odnosi się do wydajności systemu w taki sposób, że może on obsłużyć większe obciążenie systemu i zmodyfikować system, aby obsługiwał większe obciążenie.

Rozważ następujące punkty dotyczące wydajności Grav -

  • Aby mieć lepszą wydajność Grav'a, możesz użyć PHP opcache i usercache. Opcache działa dobrze z PHP 5.4, a usercache działa szybciej z PHP 5.5, PHP 5.6 i Zend opcache.

  • Plik SSD(Solid State Drive), który wykorzystuje pamięć flash i nie ma ruchomych części. Czasami pamięć podręczna będzie przechowywana w pamięci podręcznej użytkownika lub jako pliki. Dzięki temu dyski SSD mogą zapewnić lepszą wydajność.

  • Maszyny wirtualne to najlepszy sposób na hosting dostawców w technologii chmury obliczeniowej. Możesz określić zasoby bez interakcji z fizycznym sprzętem.Native hostingjest szybszy niż maszyna wirtualna. Grav działa lepiej na maszynach wirtualnych, ale dla optymalnej wydajności można skorzystać z opcji hostingu natywnego.

  • Grav ma faster memoryw którym jego pamięć podręczna używa ciężkiej pamięci, która zapewnia lepszą wydajność na serwerze. W porównaniu do innych platform zużywa mniej pamięci.

  • Grav używa shared hostingna udostępnionym serwerze, aby udostępnić rzeczy. Udostępnianie hostingu jest dostępne w niskiej cenie i czasami może prowadzić do spowolnienia działania serwera.

  • Procesory wielordzeniowe służą do szybszej obsługi wielu zadań. Zaawansowane procesory są lepsze od tych procesorów, co pomaga użytkownikowi w wykonaniu zadania.

Buforowanie

Ogólnie rzecz biorąc, pamięć podręczna to dane przechowywane w pamięci podręcznej. Mechanizm pamięci podręcznej sprawia, że ​​Grav jest szybszy, w którym przeglądarka może pobierać pliki z pamięci podręcznej zamiast z oryginalnego serwera, oszczędzając czas i dodatkowy ruch sieciowy.

Grav używa biblioteki Doctrine Cache, która obsługuje następujące -

  • Auto (domyślne) - automatycznie używa opcji domyślnej.

  • Plik - określa pliki pamięci podręcznej obecne w cache/ teczka.

  • APC

  • XCache

  • Memcache

  • Redis

  • WinCache

Domyślnie Grav używa ustawienia automatycznego. Spróbuje użyć APC, następnie WinCache, XCache i na koniec używa File.

Typy buforowania

Istnieje 5 rodzajów buforowania -

  • Buforowanie konfiguracji YAML w PHP.

  • Buforowanie Core Grav dla obiektów strony.

  • Buforowanie Twig plików szablonów jako klas PHP.

  • Buforowanie obrazu dla zasobów multimedialnych.

  • Buforowanie zasobów CSS i jQuery z potokowaniem.

Buforowanie konfiguracji YAML przechowywanej w pliku /cacheteczka. Buforowanie obrazów przechowuje swoje obrazy w/imagesteczka. Opcja konfiguracji dla podstawowego buforowania Grav-a jest przechowywana wuser/config/system.yml plik, jak pokazano poniżej -

cache:
   enabled: true
   check:
      method: file
   driver: auto
   prefix: 'g'
  • Plik enabled Opcja włącza buforowanie, ustawiając ją na true.

  • Plik method opcja sprawdza aktualizacje na stronach, takich jak pliki lub folder.

  • Plik driver opcja określa różne typy opcji buforowania, takie jak Auto, File, APC, XCache, Memcache, Redis lub WinCache.

  • Plik prefix Opcja definiuje ciąg prefiksu pamięci podręcznej.

Opcje pamięci podręcznej

Jeśli używasz memcached server, musisz dodać kilka dodatkowych opcji konfiguracyjnych przy użyciu memcache kierowca w user/config/system.yml file. Te opcje można zdefiniować wcache: Grupa.

cache:
...
...
   memcache:
      server:localhost
      port: 8080

Opcje Redis

Jeśli używasz redis, musisz dodać kilka dodatkowych opcji konfiguracyjnych za pomocą redis kierowca w user/config/system.yml file. Te opcje można zdefiniować wcache: Grupa.

cache:
...
...
   redis:
   	server:localhost
      port: 8080

Szablon Twig wykorzystuje własny mechanizm buforowania, używając sterownika twig w user/config/system.yml plik.

twig:
   cache: true
   debug: true
   auto_reload: true
   autoescape: false

Ma kilka opcji, takich jak -

  • cache Opcja włącza buforowanie gałązki, ustawiając ją na true.

  • debug opcja włącza debugowanie gałązki.

  • auto_reload Opcja służy do przeładowania zmian przez ustawienie jej na true.

  • autoescape opcja jest używana do automatycznego zmiany znaczenia zmiennych twig.

Buforowanie i zdarzenia

Zdarzenia mogą być używane, gdy jest włączone buforowanie. Można to włączyć dla wszystkich wydarzeń z wyjątkiemOnPageContentRaw, OnPageProcessed, OnPageContentProcessed, OnTwigPageVariables i OnFolderProcessedwydarzenia. Te zdarzenia mogą być używane na wszystkich stronach i w folderach i mogą być uruchamiane tylko podczas przetwarzania zdarzeń. Tych zdarzeń nie można uruchomić po zbuforowaniu strony.