研究表明,用戶最滿意的打開網頁時間,是在 2 秒以下。用戶能夠忍受的最長等待時間在 6~8 秒之間。就是說,8 秒是一個臨界值,如果你的網站打開速度在 8 秒以上,那么你將失去大部分用戶。研究顯示,如果等待 12 秒以后,網頁還是沒有載入,那么 99% 以上的用戶會選擇關閉網頁。
google 做過一個試驗,10 條搜索結果的頁面載入時間需要 0.4 秒,顯示 30 條搜索結果的頁面載入時間需要 0.9 秒,結果后者使得 Google 總的流量和收入減少了 20%。Google 地圖上線的時候,首頁大小有 100KB,后來下降到 70~80KB。結果,流量在第一個星期上升了 10%,接下來的 3 個星期又再上升了 25%。Amazon 的統計也顯示了相近的結果,首頁打開時間每增加 100 毫秒,網站銷售量會減少 1%。
以上數據說明了一個非常重要的問題,如果你的網站速度如果超過 2s 以上,那么你的客戶可能在流失和離你而去了。這一點對于電商網站尤其重要,打開速度慢,那么將造成轉化率降低,損失將會大量增加。
網站的訪問速度受到很多因素影響。服務器的帶寬、服務器的 cpu、內存等硬件配置、網站的代碼質量、css 和 js 文件是否合并成了一個請求、用戶的訪問地理位置、用戶的線路、數據庫語句是否高效等等。影響一個網站速度的因素非常多,需要針對每一項因素做優化。
隨著云計算的普及,cdn 逐漸隨著云計算的普及而普及。而且隨著云計算技術的發展,很多大廠商開發了很多底層系統,將這些服務直接打包用來出售。例如 cdn 服務,隨著這幾年技術的發展,cdn 的價格已經越來越便宜。如果自己逐一去優化網站中每個性能瓶頸,那么將耗費大量的時間。cdn 服務將整套服務打包,將全站的訪問速度整體提升一個量級,不再需要你再做耗時耗力的優化工作,能夠節約大量時間去做推廣。今天就來介紹下 wordPress/ target=_blank class=infotextkey>WordPress 使用 阿里云 cdn 的教程。
手把手教你 WordPress 使用阿里云 CDN 教程 讓你的網站飛起來
添加域名
進入域名管理,點擊添加域名,如下圖:
- 「加速域名」輸入你要加速的域名,一般是你的二級域名:如:www.domain.com。
- 「業務類型」選擇「圖片小文件」。
- 「源站信息」選擇「IP」,輸入框輸入自己源站的 IP 地址。
- 「端口」,如果源站是 http 的,則選擇 80 端口,如果源站是 https 的,需要選擇 443 端口,否則會導致 cdn 不斷的 301 重定向,導致網站無法訪問。
添加完成后,界面提示如下:
配置 CNAME
- 進入域名管理,復制域名的 CNAME 值。
- 進入云解析控制臺,選擇對應的域名,添加一條 CNAME 記錄。
https 配置
如果源站是 https 的,還需要在 cdn 上進行 https 配置。
域名管理控制臺,選擇對應的域名,選擇「HTTPS 配置」。
- 勾選「HTTPS 安全加速」,如果你的 https 證書是在阿里云購買的,在「證書類型」選項,選擇「云盾」,系統會自動將證書導入。關于如何購買阿里云 SSL 證書,可以參考阿里云免費申請 SSL 證書。因為我是阿里云購買的,所以直接選擇了云盾。
- 「強制跳轉」處,勾選 「HTTP -> HTTPS」。
- 勾選「HTTP/2」,勾選「TLS 版本控制」-> 「TLSv 1.3」。
緩存配置
緩存配置分為目錄和文件后綴名 2 種方式,權重分為 1~99 等級,99 最大,1 最小,權重大會優先緩存。如果控制臺的緩存不配置,阿里云 cdn 默認緩存的時間是:(當前時間 - lastModified) * 0.1,取值范圍為:10s~3600s 之間。
下圖是我的站點配置方案,可以做參考:
我配置了根目錄 / 的 7 天過期時間,是因為我的網站所有結構都是 1 級目錄結構(www.domain.com/ur1/),無法根據 url 目錄詳細區分,如果你的站點可以區分 url 目錄結構,可以配置的更加詳細。
動態內容無需緩存,所以我對 wp-admin 目錄緩存時間設置為 0。
控制臺配置的緩存時間并不是絕對時間,假設你的 js 緩存時間是 3 個月,但是你的站點訪問量非常少,cdn 會提前將內容過期,直到下次重新訪問,緩存才會重新生效。
配置 Cache-Control
Cache-Control 是什么?Cache-Control 通用消息頭字段,被用在 http 請求和響應中,通過指定指令來實現緩存機制。阿里云的 cdn 也是通過這個字段來判斷是否緩存的,如果你的服務器容器的 Cache-Control 為 no-cache,那么阿里云 cdn 是無法進行緩存的。這個字段可以通過 chrome 瀏覽器的 Network 查看,如下圖:
配置 cache - control 有 2 種方法,阿里云 cdn 控制臺配置 HTTP 頭、源站配置 Cache-Control。
- 第 1 種方法:阿里云 cdn 配置 HTTP 頭,在阿里云 cdn 控制臺進入「緩存配置」->「HTTP 頭」添加參數:Cache-Control:public。
- 第 2 種方法:源站服務器添加 Cache-Control 配置,這里以 Nginx 為例,打開 nginx 的 conf 配置文件,在 server 節點下添加如下代碼:
add_header Cache-Control public;
關于阿里云 cdn 詳細的解釋可以參考配置緩存過期時間。
性能優化
性能優化主要勾選阿里云 cdn 控制臺的 3 個選項。
- 頁面優化,主要是去除 html 頁面頁面冗余內容,如注釋以及重復的空白符,節省帶寬,加快訪問速度。
- 智能壓縮,對靜態文件類型進行 Gzip 壓縮, 有效減少用戶傳輸內容大小。
- Brotli 壓縮,Google 在 2015 年 9 月推出了無損壓縮算法 Brotli。Brotli 通過變種的 LZ77 算法、Huffman 編碼以及二階文本建模等方式進行數據壓縮,與其他壓縮算法相比,它有著更高的壓縮效率。開啟后,查看 css、js 的 content-encoding 值為 br,就說明啟用了 Brotli 壓縮。
如何查看是否命中 CDN 緩存
首先在 dos 界面 ping 域名,查看返回信息,如果返回后綴為:w.kunlungr.com 的域名信息,說明 CNAME 的配置生效了。但是這并不能說明網站已經命中 cdn 緩存。
查看網站是否命中 cdn 緩存的方法。打開 Chrome 瀏覽器的 Network 選項卡,刷新網站,找到 Response Headers 的 x-cache 屬性,如果為 HIT 則表明命中緩存,如果為 MISS 則表明未命中緩存。
刷新緩存
如果在源站更新了內容,想要立刻生效,可以使用「刷新預熱」功能。
效果如何?
我們花了大量的時間和精力做了 cdn 的配置和優化,那么效果到底如何呢?有沒有可以量化的數據來驗證呢?下面是我的統計數據圖。
未配置 cdn 前的統計時間,平均時間大約為 1500 ms。
啟用 cdn 后,時間降低為 130 ms 左右。
訪問時間直接提升了 10 倍以上,提升效果還是非常明顯的。
查看更多:https://yq.aliyun.com/articles/744160?utm_content=g_1000104491
上云就看云棲號:更多云資訊,上云案例,最佳實踐,產品入門,訪問:https://yqh.aliyun.com/