Grav - Prestazioni e cache

In questo capitolo, comprenderemo i concetti di prestazioni e caching in Grav.

Prestazione

Il termine prestazioni si riferisce alle prestazioni del sistema in modo tale che sia in grado di gestire un carico maggiore sul sistema e modificare il sistema per gestire un carico maggiore.

Considera i seguenti punti relativi alle prestazioni di Grav:

  • Per avere prestazioni migliori di Grav, puoi usare PHP opcache e usercache. Opcache funziona bene con PHP 5.4 e usercache funziona più velocemente con PHP 5.5, PHP 5.6 e Zend opcache.

  • Il SSD(Solid State Drive) che utilizza la memoria flash e non ha parti mobili. A volte la cache verrà archiviata nella cache dell'utente o archiviata come file. Quindi le unità SSD possono offrire prestazioni migliori.

  • Le macchine virtuali sono il modo migliore per ospitare provider con la tecnologia del cloud computing. È possibile specificare le risorse senza interagire con l'attrezzatura fisica.Native hostingè più veloce della macchina virtuale. Grav funziona meglio sulle macchine virtuali, ma per prestazioni ottimali puoi utilizzare l'opzione di hosting nativo.

  • Grav ha faster memoryin cui la sua cache utilizza una memoria pesante che fornisce prestazioni migliori sul tuo server. Rispetto ad altre piattaforme, utilizza meno memoria.

  • Grav utilizza shared hostingsul server condiviso per condividere le cose. La condivisione dell'hosting è disponibile a basso costo e talvolta può rallentare le cose sul server.

  • I processori multi core vengono utilizzati per gestire più attività più velocemente. I processori avanzati sono migliori di questi processori che aiutano l'utente a portare a termine l'operazione.

Caching

In generale, la cache è un dato archiviato in una memoria cache. Il meccanismo di cache rende Grav più veloce in cui il browser può ottenere file dalla cache piuttosto che dal server originale, risparmiando tempo e traffico di rete aggiuntivo.

Grav utilizza la libreria Doctrine Cache che supporta quanto segue:

  • Auto (predefinito): utilizza automaticamente l'opzione predefinita.

  • File: specifica i file di cache presenti nel file cache/ cartella.

  • APC

  • XCache

  • Memcache

  • Redis

  • WinCache

Per impostazione predefinita, Grav utilizza l'impostazione automatica. Proverà per APC, quindi per WinCache, XCache e infine utilizza File.

Tipi di cache

Esistono 5 tipi di memorizzazione nella cache:

  • Memorizzazione nella cache della configurazione YAML in PHP.

  • Memorizzazione nella cache di Core Grav per gli oggetti della pagina.

  • Memorizzazione nella cache Twig dei file modello come classi PHP.

  • Memorizzazione nella cache delle immagini per le risorse multimediali.

  • Memorizzazione nella cache delle risorse di CSS e jQuery con pipelining.

La memorizzazione nella cache della configurazione YAML archiviata in /cachecartella. La memorizzazione nella cache delle immagini memorizza le sue immagini nel file/imagescartella. L'opzione di configurazione per la memorizzazione nella cache Grav di base è archiviata inuser/config/system.yml file come mostrato di seguito -

cache:
   enabled: true
   check:
      method: file
   driver: auto
   prefix: 'g'
  • Il enabled opzione abilita la memorizzazione nella cache impostandola su true.

  • Il method opzione controlla gli aggiornamenti in pagine come file o cartelle.

  • Il driver opzione specifica diversi tipi di opzioni di memorizzazione nella cache come Auto, File, APC, XCache, Memcache, Redis o WinCache.

  • Il prefix opzione definisce la stringa del prefisso della cache.

Opzioni memcache

Se stai usando il memcached server, quindi è necessario aggiungere alcune opzioni di configurazione aggiuntive utilizzando il memcache driver in user/config/system.yml file. Queste opzioni possono essere definite incache: gruppo.

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

Opzioni di Redis

Se stai usando redis, quindi è necessario aggiungere alcune opzioni di configurazione aggiuntive utilizzando redis driver in user/config/system.yml file. Queste opzioni possono essere definite incache: gruppo.

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

Il modello Twig utilizza il proprio meccanismo di memorizzazione nella cache utilizzando il driver twig in user/config/system.yml file.

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

Ha alcune opzioni come:

  • cache opzione abilita la memorizzazione nella cache del ramoscello impostandola su true.

  • debug opzione abilita il debug di twig.

  • auto_reload viene utilizzata per ricaricare le modifiche impostandola su true.

  • autoescape è usata per uscire automaticamente dalle variabili twig.

Caching ed eventi

Gli eventi possono essere utilizzati quando la memorizzazione nella cache è abilitata. Questo può essere abilitato per tutti gli eventi ad eccezione diOnPageContentRaw, OnPageProcessed, OnPageContentProcessed, OnTwigPageVariables e OnFolderProcessedeventi. Questi eventi possono essere utilizzati su tutte le pagine e cartelle e possono essere eseguiti solo durante l'elaborazione degli eventi. Questi eventi non possono essere eseguiti dopo che la pagina è stata memorizzata nella cache.