Grav - Hiệu suất & Bộ nhớ đệm

Trong chương này, chúng ta sẽ hiểu các khái niệm về hiệu suất và bộ nhớ đệm trong Grav.

Hiệu suất

Thuật ngữ hiệu suất đề cập đến hiệu suất của hệ thống theo cách mà nó có thể xử lý tải cao hơn trên hệ thống và sửa đổi hệ thống để xử lý tải cao hơn hay không.

Hãy xem xét các điểm sau liên quan đến hiệu suất của Grav -

  • Để có hiệu suất tốt hơn của Grav, bạn có thể sử dụng PHP opcacheusercache. Opcache hoạt động tốt với PHP 5.4 và usercache hoạt động nhanh hơn với opcache PHP 5.5, PHP 5.6 và Zend.

  • Các SSD(Ổ cứng thể rắn) sử dụng bộ nhớ flash và không có bộ phận chuyển động. Đôi khi bộ nhớ đệm sẽ được lưu trong bộ nhớ cache của người dùng hoặc được lưu trữ dưới dạng tệp. Vì vậy, ổ cứng SSD có thể cho hiệu suất tốt hơn.

  • Máy ảo là cách tốt nhất của các nhà cung cấp dịch vụ lưu trữ theo công nghệ điện toán đám mây. Bạn có thể chỉ định các tài nguyên mà không cần tương tác với thiết bị vật lý.Native hostingnhanh hơn máy ảo. Grav chạy tốt hơn trên các máy ảo, nhưng để có hiệu suất tối ưu, bạn có thể sử dụng tùy chọn lưu trữ gốc.

  • Grav có faster memorytrong đó bộ nhớ cache của nó sử dụng bộ nhớ nặng mang lại hiệu suất tốt hơn trên máy chủ của bạn. So với các nền tảng khác, nó sử dụng ít bộ nhớ hơn.

  • Grav sử dụng shared hostingtrên máy chủ chia sẻ để chia sẻ những thứ. Chia sẻ lưu trữ có sẵn với chi phí thấp và đôi khi nó có thể dẫn đến làm chậm mọi thứ trên máy chủ.

  • Bộ xử lý đa lõi được sử dụng để xử lý nhiều tác vụ nhanh hơn. Các bộ xử lý tiên tiến tốt hơn các bộ xử lý này, giúp người dùng hoàn thành nhiệm vụ.

Bộ nhớ đệm

Nói chung, cache là dữ liệu được lưu trữ trong bộ nhớ đệm. Cơ chế bộ nhớ cache làm cho Grav nhanh hơn trong đó trình duyệt có thể lấy tệp từ bộ nhớ cache thay vì máy chủ gốc, tiết kiệm thời gian và lưu lượng mạng bổ sung.

Grav sử dụng thư viện Doctrine Cache hỗ trợ những điều sau:

  • Tự động (Mặc định) - Tự động sử dụng tùy chọn mặc định.

  • Tệp - Nó chỉ định các tệp bộ nhớ cache có trong cache/ thư mục.

  • APC

  • XCache

  • Memcache

  • Redis

  • WinCache

Theo mặc định, Grav sử dụng cài đặt tự động. Nó sẽ thử cho APC, sau đó cho WinCache, XCache và cuối cùng là sử dụng File.

Các loại bộ nhớ đệm

Có 5 loại bộ nhớ đệm -

  • Bộ nhớ đệm cấu hình YAML vào PHP.

  • Bộ nhớ đệm Core Grav cho các đối tượng trang.

  • Bộ nhớ đệm của các tệp mẫu dưới dạng các lớp PHP.

  • Bộ nhớ đệm hình ảnh cho tài nguyên phương tiện.

  • Bộ nhớ đệm nội dung của CSS và jQuery với pipelining.

Bộ nhớ đệm của cấu hình YAML được lưu trữ trong /cachethư mục. Bộ nhớ đệm hình ảnh lưu trữ hình ảnh của nó trong/imagesthư mục. Tùy chọn cấu hình cho bộ nhớ đệm Grav lõi được lưu trữ tronguser/config/system.yml tệp như hình dưới đây -

cache:
   enabled: true
   check:
      method: file
   driver: auto
   prefix: 'g'
  • Các enabled tùy chọn bật bộ nhớ đệm bằng cách đặt nó thành true.

  • Các method tùy chọn kiểm tra các bản cập nhật trong các trang như tệp hoặc thư mục.

  • Các driver tùy chọn chỉ định các loại tùy chọn bộ nhớ đệm khác nhau như Tự động, Tệp, APC, XCache, Memcache, Redis hoặc WinCache.

  • Các prefix tùy chọn xác định chuỗi tiền tố bộ nhớ cache.

Tùy chọn Memcache

Nếu bạn đang sử dụng memcached server, sau đó bạn cần thêm một số tùy chọn cấu hình bổ sung bằng cách sử dụng memcache người lái xe trong user/config/system.yml file. Các tùy chọn này có thể được xác định trongcache: nhóm.

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

Tùy chọn Redis

Nếu bạn đang sử dụng redis, sau đó bạn cần thêm một số tùy chọn cấu hình bổ sung bằng cách sử dụng redis người lái xe trong user/config/system.yml file. Các tùy chọn này có thể được xác định trongcache: nhóm.

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

Mẫu Twig sử dụng cơ chế bộ nhớ đệm của riêng nó bằng cách sử dụng trình điều khiển twig trong user/config/system.yml tập tin.

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

Nó có một số tùy chọn như -

  • cache tùy chọn cho phép bộ nhớ đệm cành cây bằng cách đặt nó thành true.

  • debug tùy chọn cho phép gỡ lỗi cành cây.

  • auto_reload tùy chọn được sử dụng để tải lại các thay đổi bằng cách đặt nó thành true.

  • autoescape tùy chọn được sử dụng để tự động thoát khỏi các biến nhánh.

Bộ nhớ đệm và sự kiện

Sự kiện có thể được sử dụng khi bộ nhớ đệm được bật. Điều này có thể được bật cho tất cả các sự kiện ngoại trừOnPageContentRaw, OnPageProcessed, OnPageContentProcessed, OnTwigPageVariablesOnFolderProcessedsự kiện. Các sự kiện này có thể được sử dụng trên tất cả các trang và thư mục và chỉ có thể chạy khi các sự kiện đang xử lý. Không thể chạy những sự kiện này sau khi trang đã được lưu vào bộ nhớ đệm.