Grav - Performances et mise en cache

Dans ce chapitre, nous allons comprendre les concepts de performances et de mise en cache dans Grav.

Performance

Le terme performances se réfère aux performances du système de telle sorte qu'il peut gérer une charge plus élevée sur le système et modifier le système pour gérer une charge plus élevée.

Tenez compte des points suivants relatifs aux performances de Grav -

  • Pour avoir de meilleures performances de Grav, vous pouvez utiliser PHP opcache et usercache. L'opcache fonctionne bien avec PHP 5.4 et usercache fonctionne plus rapidement avec PHP 5.5, PHP 5.6 et Zend opcache.

  • le SSD(Solid State Drive) qui utilise la mémoire flash et n'a pas de pièces mobiles. Parfois, le cache sera stocké dans le cache utilisateur ou stocké sous forme de fichiers. Les disques SSD peuvent donc offrir de meilleures performances.

  • Les machines virtuelles sont le meilleur moyen d'hébergement des fournisseurs dans le cadre de la technologie du cloud computing. Vous pouvez spécifier les ressources sans interagir avec l'équipement physique.Native hostingest plus rapide que la machine virtuelle. Grav fonctionne mieux sur les machines virtuelles, mais pour des performances optimales, vous pouvez utiliser l'option d'hébergement native.

  • Grav a faster memorydans lequel son cache utilise une mémoire importante qui offre de meilleures performances sur votre serveur. Comparé à d'autres plates-formes, il utilise moins de mémoire.

  • Grav utilise shared hostingsur le serveur partagé pour partager les choses. L'hébergement partagé est disponible à un faible coût et peut parfois ralentir les choses sur le serveur.

  • Les processeurs multicœurs sont utilisés pour gérer plus rapidement plusieurs tâches. Les processeurs avancés sont meilleurs que ces processeurs, ce qui aide l'utilisateur à accomplir la tâche.

Mise en cache

En général, le cache est une donnée stockée dans une mémoire cache. Le mécanisme de cache rend Grav plus rapide dans lequel le navigateur peut obtenir des fichiers du cache plutôt que du serveur d'origine, ce qui permet de gagner du temps et du trafic réseau supplémentaire.

Grav utilise la bibliothèque Doctrine Cache qui prend en charge ce qui suit -

  • Auto (par défaut) - Il utilise automatiquement l'option par défaut.

  • Fichier - Il spécifie les fichiers de cache présents dans le cache/ dossier.

  • APC

  • XCache

  • Memcache

  • Redis

  • WinCache

Par défaut, Grav utilise le paramètre automatique. Il essaiera pour APC, puis pour WinCache, XCache et enfin il utilisera File.

Types de mise en cache

Il existe 5 types de mise en cache -

  • Mise en cache de la configuration YAML dans PHP.

  • Mise en cache Core Grav pour les objets de page.

  • Mise en cache Twig des fichiers modèles en tant que classes PHP.

  • Mise en cache d'image pour les ressources multimédias.

  • Mise en cache des actifs de CSS et jQuery avec pipelining.

La mise en cache de la configuration YAML stockée dans le /cachedossier. La mise en cache d'image stocke ses images dans le/imagesdossier. L'option de configuration pour la mise en cache du noyau Grav est stockée dansuser/config/system.yml fichier comme indiqué ci-dessous -

cache:
   enabled: true
   check:
      method: file
   driver: auto
   prefix: 'g'
  • le enabled L'option active la mise en cache en la définissant sur true.

  • le method L'option vérifie les mises à jour dans les pages telles que les fichiers ou les dossiers.

  • le driver L'option spécifie différents types d'options de mise en cache telles que Auto, File, APC, XCache, Memcache, Redis ou WinCache.

  • le prefix L'option définit la chaîne de préfixe de cache.

Options Memcache

Si vous utilisez le memcached server, vous devez ajouter des options de configuration supplémentaires en utilisant le memcache conducteur dans le user/config/system.yml file. Ces options peuvent être définies souscache: groupe.

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

Options Redis

Si vous utilisez redis, vous devez alors ajouter des options de configuration supplémentaires en utilisant redis conducteur dans le user/config/system.yml file. Ces options peuvent être définies souscache: groupe.

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

Le modèle Twig utilise son propre mécanisme de mise en cache en utilisant le pilote twig dans le user/config/system.yml fichier.

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

Il a quelques options telles que -

  • cache L'option active la mise en cache des brindilles en la définissant sur true.

  • debug L'option active le débogage de twig.

  • auto_reload L'option est utilisée pour recharger les modifications en la définissant sur true.

  • autoescape L'option est utilisée pour échapper automatiquement aux variables twig.

Mise en cache et événements

Les événements peuvent être utilisés lorsque la mise en cache est activée. Cela peut être activé pour tous les événements sauf pourOnPageContentRaw, OnPageProcessed, OnPageContentProcessed, OnTwigPageVariables et OnFolderProcessedévénements. Ces événements peuvent être utilisés sur toutes les pages et tous les dossiers et ne peuvent s'exécuter que lorsque les événements sont en cours de traitement. Ces événements ne peuvent pas être exécutés une fois la page mise en cache.