a、本 CDN 優化指南主要針對 Fikker 網站緩存 3.4.9 及其更高版本,不支持低版本。 css
b、用於提高 CDN 應用的安全性,高可靠性,可維護性等,彙總了 CDN 應用的經常使用優化建議,後期還會陸續補充新的內容,請多關注! html
a、採用 64 位操做系統 + Fikker 64 位版本。推薦:Linux CentOS 操做系統 64 位版本。 正則表達式
b、採用大內存,這樣就能夠在內存中緩存更多小頁面(小於 512KB 的頁面),可提高緩存命中率,有效下降硬盤緩存負荷。推薦:8GB/16GB/32GB 等。 緩存
a、緩存 jpg/gif 等靜態頁面 1 小時,容許內存緩存,也容許硬盤緩存。 <參看截圖> 服務器
緩存URL:^.+\.(jpg|jpeg|gif|bmp|png|ico|swf|txt|xls|cur)$
匹配規則:正則表達式(匹配時忽略大小寫)
緩存週期:1小時
忽略Set-Cookie:忽略
開放權限:全部用戶
是否容許硬盤緩存:容許 併發
說明:緩存週期默認設定爲 1 小時,根據須要可自行調整,通常源站更新頻繁的站點,緩存週期可適當調小,反之調大。 jsp
b、緩存主頁 15 分鐘,容許內存緩存,但不容許硬盤緩存。 <參看截圖>
緩存URL:^[0-9a-z\.\:\-]+/$
匹配規則:正則表達式(匹配時忽略大小寫)
緩存週期:15分鐘
忽略Set-Cookie:忽略
開放權限:全部用戶
是否容許硬盤緩存:不容許
說明:緩存相似 www.fikker.com 或 news.fikker.com 等站點主頁。通常只容許內存緩存,不容許硬盤緩存,目的:方便 CDN 用戶自由更新。
a、 常見 php/html/js/css 等頁面不容許硬盤緩存,但容許內存緩存。說明:方便 CDN 用戶自由更新。 <參看截圖>
拒絕緩存URL:^.+\.(php|aspx|asp|jsp|do|cgi|xhtml|shtml|htm|html|xml|js|css)(\??|\?.+)$
匹配規則:正則表達式(匹配時忽略大小寫)
開放權限:公共緩存
拒絕緩存位置:只拒絕硬盤緩存,但容許內存緩存
說明:這些 php/html/js 等頁面放在內存緩存中,便於 CDN 用戶自由更新。
b、 主頁/目錄頁等不容許硬盤緩存,但容許內存緩存。說明:方便 CDN 用戶自由更新。 <參看截圖>
拒絕緩存URL:^.+/(\??|\?.+)$
匹配規則:正則表達式(匹配時忽略大小寫)
開放權限:公共緩存
拒絕緩存位置:只拒絕硬盤緩存,但容許內存緩存
說明:相似 www.fikker.com 或 www.fikker.com/sports/ 等主頁或目錄頁存放在內存緩存中,只容許內存緩存,不容許硬盤緩存,目的:方便 CDN 用戶自由更新。
a、 若是經過【實時監控】→ 【系統資源監控】 → 【當前硬盤併發讀寫請求數】<參看截圖>,監控到此值經常升在 200 以上,說明硬盤讀寫很繁忙,硬盤IO負荷較高,硬盤讀寫跟不上用戶的爆發性訪問了,
硬盤IO效率出現了瓶頸,解決辦法有:
(1)、調高【硬盤緩存設置】→ 【緩存參數配置】→【限定硬盤緩存頁面內容的最小尺寸】值,從默認值 16384 = 16KB 嘗試調高到 64KB/128KB/256KB/512KB 等幾個檔位,
而後監控/評估綜合效果表現,直到找到一個合適的值。 <參看截圖>
(2)、面向高併發/高頁面量/高帶寬訪問時,加大內存,提升內存緩存容量,可有效下降硬盤負荷。
(3)、更新普通硬盤爲更高效率的SSD固態硬盤,提高硬盤讀寫效率。
b、 若是源站頁面更新後,要求快速生效,等不及硬盤緩存超時。這個需求可適當調高 【硬盤緩存設置】→ 【緩存參數配置】→【限定硬盤緩存頁面內容的最小尺寸】值,
從默認值 16384 = 16KB 嘗試調高到 64KB/128KB/256KB/512KB 等幾個檔位,這樣子硬盤只用於緩存大文件,常見的 html/php 等小頁面(小於512KB)只緩存在內存中。 <參看截圖>
a、 若是 Fikker 只使用到了 「內存緩存」 功能,沒有使用到 「硬盤緩存」 功能,【 限定硬盤索引內存佔用百分比】 可設置爲 0 ,這樣子可將所有內存用於 「內存緩存」 。
b、 面向高併發訪問需求,可調高【最大併發鏈接數】和 【源站最大併發鏈接請求數】 配置,從默認 5000 調高到 10000/20000/30000/40000/50000 等幾個檔位。
c、 其它配置請嚴格參照【幫助系統】去配置。
a、 經過 【集羣管理】 將 CDN 全部節點添加到一個集羣中,便於緩存同步清理/更新。<參看幫助>
a、經過 【清理緩存】→【按條件清除已緩存的頁面】 項,可當即清理內存緩存,舉幾個例子以下:
(1)、清理/更新某一個站點目錄 www.fikker.com/bbs/ 下的全部已內存緩存的頁面: <參看截圖>
清理頁面URL: www.fikker.com/bbs/*
是否忽略大小寫:忽略
匹配規則:通配符
同步操做集羣內所有服務器 【√】
(2)、清理/更新某一個站點 www.fikker.com 下全部已內存緩存的頁面: <參看截圖>
清理頁面URL: www.fikker.com/*
是否忽略大小寫:忽略
匹配規則:通配符
同步操做集羣內所有服務器 【√】
(3)、清理/更新一個具體的頁面緩存,可同時更新內存緩存+硬盤緩存: <參看截圖>
清理頁面URL: www.fikker.com/example.html
是否忽略大小寫:不忽略
匹配規則:精確匹配
同步操做集羣內所有服務器 【√】
(4)、清理/更新一個指定站點下的全部 js 文件(內存緩存): <參看截圖>
清理頁面URL: www.fikker.com/*.js
是否忽略大小寫:忽略
匹配規則:通配符
同步操做集羣內所有服務器 【√】
b、對於更新比較頻繁的源站頁面,可經過【頁面緩存】和【拒絕緩存】功能項增長或調整配置,將這一些更新頻繁的源站頁面,設置成只容許內存緩存,但不容許硬盤緩存。
這樣子作的好處是,便於手動即時的更新其頁面(可參照上面的例子),下降硬盤緩存負荷。