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