- Grav 外掛
- Grav - 外掛基礎
- Grav - 外掛教程
- Grav - 事件鉤子
- Grav 管理面板
- Grav - 管理員介紹
- Grav - 管理員儀表盤
- Grav - 配置系統
- Grav - 站點配置
- Grav - 管理面板頁面
- Grav - 頁面編輯器選項
- Grav - 頁面編輯器高階
- Grav 高階
- Grav - 藍圖
- Grav - 效能與快取
- Grav - 除錯與日誌記錄
- Grav - 命令列介面 (CLI)
- Grav - GPM (Grav 包管理器)
- Grav - 開發
- Grav - 生命週期
- Grav - YAML 語法
- Grav - 表單
- Grav 託管
- Grav - 網路託管
- Grav 故障排除
- Grav - 伺服器錯誤
- Grav - 許可權
- Grav 有用資源
- Grav - 面試問題
- Grav - 快速指南
- Grav - 有用資源
- Grav - 討論
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 庫,支援以下功能:
自動 (預設) - 它自動使用預設選項。
檔案 - 它指定cache/資料夾中存在的快取檔案。
APC
XCache
Memcache
Redis
WinCache
預設情況下,Grav 使用自動設定。它將首先嚐試 APC,然後嘗試 WinCache、XCache,最後使用檔案。
快取型別
有 5 種快取型別:
將 YAML 配置快取到 PHP 中。
頁面物件的 Grav 核心快取。
將模板檔案作為 PHP 類進行 Twig 快取。
媒體資源的影像快取。
使用管道技術的 CSS 和 jQuery 的資源快取。
儲存在/cache資料夾中的 YAML 配置快取。影像快取將其影像儲存在/images資料夾中。Grav 核心快取的配置選項儲存在user/config/system.yml檔案中,如下所示:
cache:
enabled: true
check:
method: file
driver: auto
prefix: 'g'
enabled選項透過將其設定為 true 來啟用快取。
method選項檢查頁面(例如檔案或資料夾)的更新。
driver選項指定不同型別的快取選項,例如 Auto、File、APC、XCache、Memcache、Redis 或 WinCache。
prefix選項定義快取字首字串。
Memcache 選項
如果您使用的是memcached 伺服器,則需要使用user/config/system.yml 檔案中的memcache驅動程式新增一些額外的配置選項。這些選項可以在cache:組下定義。
cache:
...
...
memcache:
server:localhost
port: 8080
Redis 選項
如果您使用的是redis,則需要使用user/config/system.yml 檔案中的redis驅動程式新增一些額外的配置選項。這些選項可以在cache:組下定義。
cache:
...
...
redis:
server:localhost
port: 8080
Twig 模板使用其自身的快取機制,方法是在user/config/system.yml檔案中使用 twig 驅動程式。
twig: cache: true debug: true auto_reload: true autoescape: false
它有一些選項,例如:
cache選項透過將其設定為 true 來啟用 twig 快取。
debug選項啟用 twig 除錯。
auto_reload選項用於透過將其設定為 true 來重新載入更改。
autoescape選項用於自動轉義 twig 變數。
快取和事件
啟用快取時可以使用事件。這可以為除OnPageContentRaw、OnPageProcessed、OnPageContentProcessed、OnTwigPageVariables和OnFolderProcessed事件之外的所有事件啟用。這些事件可用於所有頁面和資料夾,並且僅在事件正在處理時才能執行。這些事件不能在頁面快取後執行。