Учебники

Grav — производительность и кеширование

В этой главе мы разберемся с концепциями производительности и кэширования в Grav.

Спектакль

Термин «производительность» относится к производительности системы таким образом, что она может справиться с более высокой нагрузкой на систему и изменить систему для обработки более высокой нагрузки.

Рассмотрим следующие моменты, касающиеся производительности Grav —

  • Чтобы повысить производительность Grav, вы можете использовать PHP opcache и usercache . Opcache хорошо работает с PHP 5.4, а usercache работает быстрее с PHP 5.5, PHP 5.6 и Zend opcache.

  • SSD (твердотельный накопитель), который использует флэш-память и не имеет движущихся частей. Иногда кеш будет храниться в пользовательском кеше или храниться в виде файлов. Таким образом, SSD диски могут дать лучшую производительность.

  • Виртуальные машины — лучший способ хостинг-провайдеров по технологии облачных вычислений. Вы можете указать ресурсы, не взаимодействуя с физическим оборудованием. Собственный хостинг работает быстрее, чем виртуальная машина. Grav лучше работает на виртуальных машинах, но для оптимальной производительности вы можете использовать собственный вариант хостинга.

  • Grav имеет более быструю память, в которой его кэш-память использует большую память, что обеспечивает лучшую производительность на вашем сервере. По сравнению с другими платформами он использует меньше памяти.

  • Grav использует общий хостинг на общем сервере для обмена данными. Совместное использование хостинга доступно по низкой цене, и иногда это может привести к замедлению работы сервера.

  • Многоядерные процессоры используются для быстрой обработки нескольких задач. Усовершенствованные процессоры лучше, чем эти процессоры, что помогает пользователю выполнить задачу.

Чтобы повысить производительность Grav, вы можете использовать PHP opcache и usercache . Opcache хорошо работает с PHP 5.4, а usercache работает быстрее с PHP 5.5, PHP 5.6 и Zend opcache.

SSD (твердотельный накопитель), который использует флэш-память и не имеет движущихся частей. Иногда кеш будет храниться в пользовательском кеше или храниться в виде файлов. Таким образом, SSD диски могут дать лучшую производительность.

Виртуальные машины — лучший способ хостинг-провайдеров по технологии облачных вычислений. Вы можете указать ресурсы, не взаимодействуя с физическим оборудованием. Собственный хостинг работает быстрее, чем виртуальная машина. Grav лучше работает на виртуальных машинах, но для оптимальной производительности вы можете использовать собственный вариант хостинга.

Grav имеет более быструю память, в которой его кэш-память использует большую память, что обеспечивает лучшую производительность на вашем сервере. По сравнению с другими платформами он использует меньше памяти.

Grav использует общий хостинг на общем сервере для обмена данными. Совместное использование хостинга доступно по низкой цене, и иногда это может привести к замедлению работы сервера.

Многоядерные процессоры используются для быстрой обработки нескольких задач. Усовершенствованные процессоры лучше, чем эти процессоры, что помогает пользователю выполнить задачу.

Кэширование

В общем случае кеш — это хранящиеся данные в кеш-памяти. Механизм кэширования ускоряет Grav, в котором браузер может получать файлы из кэша, а не с исходного сервера, экономя время и дополнительный сетевой трафик.

Grav использует библиотеку Doctrine Cache, которая поддерживает следующее:

  • Авто (по умолчанию) — используется опция по умолчанию автоматически.

  • Файл — указывает файлы кеша, присутствующие в кеше / папке.

  • APC

  • XCache

  • Memcache

  • Redis

  • WinCache

Авто (по умолчанию) — используется опция по умолчанию автоматически.

Файл — указывает файлы кеша, присутствующие в кеше / папке.

APC

XCache

Memcache

Redis

WinCache

По умолчанию Grav использует автоматическую настройку. Он попытается использовать APC, затем WinCache, XCache и, наконец, использует File.

Типы кэширования

Есть 5 видов кеширования —

  • Кэширование конфигурации YAML в PHP.

  • Кеширование Core Grav для объектов страницы.

  • Кэширование веток файлов шаблонов как классов PHP.

  • Кэширование изображений для медиаресурсов.

  • Кэширование активов CSS и jQuery с конвейерной обработкой.

Кэширование конфигурации YAML в PHP.

Кеширование Core Grav для объектов страницы.

Кэширование веток файлов шаблонов как классов PHP.

Кэширование изображений для медиаресурсов.

Кэширование активов CSS и jQuery с конвейерной обработкой.

Кэширование конфигурации YAML хранится в папке / cache . Кэширование изображений хранит свои изображения в папке / images . Параметр конфигурации для основного кэширования Grav хранится в файле user / config / system.yml, как показано ниже —

cache:
   enabled: true
   check:
      method: file
   driver: auto
   prefix: 'g'
  • Включенная опция включает кэширование, установив для него значение true.

  • Опция метода проверяет наличие обновлений на страницах, таких как файлы или папки.

  • Параметр драйвера указывает различные типы параметров кэширования, такие как Авто, Файл, APC, XCache, Memcache, Redis или WinCache.

  • Опция префикса определяет строку префикса кэша.

Включенная опция включает кэширование, установив для него значение true.

Опция метода проверяет наличие обновлений на страницах, таких как файлы или папки.

Параметр драйвера указывает различные типы параметров кэширования, такие как Авто, Файл, APC, XCache, Memcache, Redis или WinCache.

Опция префикса определяет строку префикса кэша.

Параметры Memcache

Если вы используете сервер memcached , вам нужно добавить некоторые дополнительные параметры конфигурации, используя драйвер memcache в файле user / config / system.yml . Эти параметры могут быть определены в разделе cache: group.

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

Параметры Redis

Если вы используете redis , вам нужно добавить некоторые дополнительные параметры конфигурации с помощью драйвера redis в файле user / config / system.yml . Эти параметры могут быть определены в разделе cache: group.

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

Шаблон Twig использует собственный механизм кэширования с помощью драйвера twig в файле user / config / system.yml .

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

У него есть несколько вариантов, таких как —

  • Параметр cache включает кэширование веток, установив для него значение true.

  • опция отладки включает отладку ветки.

  • Параметр auto_reload используется для перезагрузки изменений, установив для него значение true.

  • Параметр autoescape используется для автоматического экранирования переменных ветки.

Параметр cache включает кэширование веток, установив для него значение true.

опция отладки включает отладку ветки.

Параметр auto_reload используется для перезагрузки изменений, установив для него значение true.

Параметр autoescape используется для автоматического экранирования переменных ветки.

Кеширование и события

События могут использоваться, когда включено кэширование. Это можно включить для всех событий, за исключением событий OnPageContentRaw , OnPageProcessed , OnPageContentProcessed , OnTwigPageVariables и OnFolderProcessed . Эти события могут использоваться на всех страницах и в папках и могут выполняться только во время обработки событий. Эти события не могут быть запущены после того, как страница была кэширована.