a、本 CDN 优化指南主要针对 Fikker 网站缓存 3.4.9 及其更高版本,不支持低版本。
b、用于提升 CDN 应用的安全性,高可靠性,可维护性等,汇总了 CDN 应用的常用优化建议,后期还会陆续补充新的内容,请多关注!
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 小时,根据需要可自行调整,一般源站更新频繁的站点,缓存周期可适当调小,反之调大。
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、对于更新比较频繁的源站页面,可通过【页面缓存】和【拒绝缓存】功能项增加或调整配置,将这一些更新频繁的源站页面,设置成只允许内存缓存,但不允许硬盘缓存。
这样子做的好处是,便于手动即时的更新其页面(可参照上面的例子),降低硬盘缓存负荷。
a、 通过 Fikker 监控端(CDN)快速定位攻击域名。<参看截图> <下载地址>
来源:oschina
链接:https://my.oschina.net/u/269655/blog/142663