1.fastCGI

fastcgi是一個協議
php-fpm實現這個協議、管理fastcgi

確認運行

ss -pl | grep php

 

2. Redis Object Cache

Redis Object Cache 可提升 WordPress 的效能,
透過將查詢結果快取在記憶體中,

加速讀取與降低資料庫負載。

sudo systemctl status redis

 

 

3.MariaDB Query Cache

MariaDB Query Cache 設定 路徑:

/etc/mysql/mariadb.conf.d/50-server.cnf

重啟MariaDB

sudo systemctl restart mariadb

 

4.gzip or Brotli

 

Brotli 與 gzip 進行基準測試時,發現它可以更好地壓縮檔案:

  • JavaScript 檔案小 14%
  • HTML 檔案小 21%
  • CSS 檔案小 17%

由於Brotli被設計為動態壓縮流,
因此它在伺服器上壓縮內容和 在瀏覽器中解壓縮內容比 gzip 更快。
在某些情況下,整體前端解壓縮速度比 gzip 快 64%。

 

取得模組

echo "deb http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
echo "deb-src http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt update

安裝

sudo apt install nginx-module-brotli
 

nginx.conf配置

brotli on; brotli_comp_level 6;

brotli_types text/plain text/css application/json application/javascript text/xml application/xml+rss text/javascript;

 

測試、重啟

sudo nginx -t
sudo systemctl restart nginx

 

gzip:

nginx conf裡配置給足

  • gzip on; → 啟用 Gzip
  • gzip_types → 壓縮常見的 CSS、JS、JSON、XML、HTML
  • gzip_comp_level 6; → 設定壓縮等級(1-9,6 為平衡速度與壓縮率)
  • gzip_min_length 256; → 只壓縮超過 256 bytes 的檔案
  • gzip_vary on; → 讓 Vary: Accept-Encoding 頭資訊可用
  • gzip_proxied any; → 允許 Proxy 伺服器壓縮內容

 

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;
gzip_comp_level 6;
gzip_min_length 256;
gzip_proxied any;
gzip_buffers 16 8k;

dev tool network確認啟用



 

排查是server端的問題還是程式端

curl -o /dev/null -s -w '%{time_starttransfer}\n' {你的資源 url}

例如單一照片得到的值0.1xxx 

響應100毫秒但 google speedinsight同張照片卻報最大內容繪製元素 6,180 毫秒
那就知道server設定大致沒問題

可以往程式端js、css卡時間優化

 

 

 

 

 

 

 

 

 

 

文章標籤
全站熱搜
創作者介紹
創作者 MonkeyJ 的頭像
MonkeyJ

程式猴

MonkeyJ 發表在 痞客邦 留言(0) 人氣(63)