Grav - Performans ve Önbelleğe Alma

Bu bölümde, Grav'da performans ve önbelleğe alma kavramlarını anlayacağız.

Verim

Performans terimi, sistemdeki daha yüksek yükü kaldırıp kaldıramayacağı ve sistemi daha yüksek bir yükü kaldıracak şekilde değiştirip değiştiremeyeceği şekilde sistem performansını ifade eder.

Grav performansıyla ilgili aşağıdaki noktaları göz önünde bulundurun -

  • Grav'ın daha iyi performansına sahip olmak için PHP'yi kullanabilirsiniz. opcache ve usercache. Opcache PHP 5.4 ile iyi çalışır ve usercache PHP 5.5, PHP 5.6 ve Zend opcache ile daha hızlı çalışır.

  • SSDFlash bellek kullanan ve hareketli parçası olmayan (Katı Hal Sürücüsü). Bazen önbellek kullanıcı önbelleğinde saklanır veya dosyalar olarak depolanır. Böylece SSD sürücüler daha iyi performans sağlayabilir.

  • Sanal makineler, bulut bilişim teknolojisi altında sağlayıcıları barındırmanın en iyi yoludur. Kaynakları fiziksel ekipmanla etkileşime girmeden belirleyebilirsiniz.Native hostingsanal makineden daha hızlıdır. Grav, sanal makinelerde daha iyi çalışır, ancak optimum performans için yerel barındırma seçeneğini kullanabilirsiniz.

  • Grav var faster memoryönbelleğinin sunucunuzda daha iyi performans sağlayan ağır bellek kullandığı. Diğer platformlarla karşılaştırıldığında daha az bellek kullanır.

  • Grav kullanır shared hostingPaylaşılan sunucuda şeyleri paylaşmak için. Paylaşım barındırma düşük bir maliyetle mevcuttur ve bazen sunucudaki işleri yavaşlatabilir.

  • Çok çekirdekli işlemciler, birden çok görevi daha hızlı gerçekleştirmek için kullanılır. Gelişmiş işlemciler bu işlemcilerden daha iyidir ve kullanıcının görevi yerine getirmesine yardımcı olur.

Önbelleğe almak

Genel olarak önbellek, önbellekte saklanan bir veridir. Önbellek mekanizması, Grav'ı daha hızlı hale getirerek, tarayıcının dosyaları orijinal sunucudan ziyade önbellekten alabilmesini sağlayarak zamandan ve ek ağ trafiğinden tasarruf sağlar.

Grav, aşağıdakileri destekleyen Doctrine Cache kütüphanesini kullanır -

  • Otomatik (Varsayılan) - Varsayılan seçeneği otomatik olarak kullanır.

  • Dosya - Dosyada bulunan önbellek dosyalarını belirtir. cache/ Klasör.

  • APC

  • XCache

  • Memcache

  • Redis

  • WinCache

Varsayılan olarak, Grav otomatik ayarı kullanır. APC'yi deneyecek, ardından WinCache, XCache ve son olarak da File'ı kullanacaktır.

Önbelleğe Alma Türleri

5 tür önbelleğe alma vardır -

  • YAML konfigürasyonunun PHP'ye önbelleğe alınması.

  • Sayfa nesneleri için Core Grav önbelleğe alma.

  • Şablon dosyalarının PHP sınıfları olarak önbelleğe alınması.

  • Medya kaynakları için görüntü önbelleğe alma.

  • Ardışık düzen ile CSS ve jQuery'nin varlık önbelleğe alınması.

YAML yapılandırmasının önbelleğe alınması /cacheKlasör. Görüntü önbelleğe alma, görüntülerini/imagesKlasör. Çekirdek Grav önbelleğe alma için yapılandırma seçeneği şurada saklanır:user/config/system.yml dosya aşağıda gösterildiği gibi -

cache:
   enabled: true
   check:
      method: file
   driver: auto
   prefix: 'g'
  • enabled seçeneği true olarak ayarlayarak önbelleğe almayı etkinleştirir.

  • method seçeneği, dosyalar veya klasörler gibi sayfalardaki güncellemeleri kontrol eder.

  • driver seçeneği, Otomatik, Dosya, APC, XCache, Memcache, Redis veya WinCache gibi farklı önbelleğe alma seçeneklerini belirtir.

  • prefix seçenek önbellek önek dizesini tanımlar.

Memcache Seçenekleri

Eğer kullanıyorsanız memcached server, ardından bazı ekstra yapılandırma seçenekleri eklemeniz gerekir. memcache sürücü user/config/system.yml file. Bu seçenekler altında tanımlanabilircache: grubu.

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

Redis Seçenekleri

Eğer kullanıyorsanız redis, daha sonra kullanarak bazı ekstra yapılandırma seçenekleri eklemeniz gerekir redis sürücü user/config/system.yml file. Bu seçenekler altında tanımlanabilircache: grubu.

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

Twig şablonu, twig sürücüsünü kullanarak kendi önbelleğe alma mekanizmasını kullanır. user/config/system.yml dosya.

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

Gibi bazı seçenekleri vardır -

  • cache seçeneği, twig önbelleğe almayı true olarak ayarlayarak etkinleştirir.

  • debug seçeneği dal hata ayıklamasını etkinleştirir.

  • auto_reload seçeneği, değişiklikleri true olarak ayarlayarak yeniden yüklemek için kullanılır.

  • autoescape seçeneği, dal değişkenlerinden otomatik olarak çıkmak için kullanılır.

Önbelleğe Alma ve Olaylar

Önbelleğe alma etkinleştirildiğinde olaylar kullanılabilir. Bu, dışındaki tüm etkinlikler için etkinleştirilebilir:OnPageContentRaw, OnPageProcessed, OnPageContentProcessed, OnTwigPageVariables ve OnFolderProcessedEtkinlikler. Bu olaylar tüm sayfalarda ve klasörlerde kullanılabilir ve yalnızca olaylar işlenirken çalıştırılabilir. Bu olaylar, sayfa önbelleğe alındıktan sonra çalıştırılamaz.