Fikker 反向代理服务器的 CDN 应用优化参考

混江龙づ霸主 提交于 2019-12-04 21:41:13

1、说明: 

a、本 CDN 优化指南主要针对 Fikker 网站缓存 3.4.9 及其更高版本,不支持低版本。

b、用于提升 CDN 应用的安全性,高可靠性,可维护性等,汇总了 CDN 应用的常用优化建议,后期还会陆续补充新的内容,请多关注!

2、硬件配置 - 优化参考  

a、采用 64 位操作系统 + Fikker 64 位版本。推荐:Linux CentOS 操作系统 64 位版本。

b、采用大内存,这样就可以在内存中缓存更多小页面(小于 512KB 的页面),可提升缓存命中率,有效降低硬盘缓存负荷。推荐:8GB/16GB/32GB 等。

3、页面缓存 - 优化参考  

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 用户自由更新。

4、拒绝缓存 - 优化参考  

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 用户自由更新。

5、硬盘缓存配置 - 优化参考  

a、 如果通过【实时监控】→ 【系统资源监控】 → 【当前硬盘并发读写请求数】<参看截图>,监控到此值常常升在 200 以上,说明硬盘读写很繁忙,硬盘IO负荷较高,硬盘读写跟不上用户的爆发性访问了,
      硬盘IO效率出现了瓶颈,解决办法有:
         
        (1)、调高【硬盘缓存设置】→ 【缓存参数配置】→【限定硬盘缓存页面内容的最小尺寸】值,从默认值 16384 = 16KB 尝试调高到 64KB/128KB/256KB/512KB 等几个档位,
                   然后监控/评估综合效果表现,直到找到一个合适的值。 <参看截图
         
        (2)、面向高并发/高页面量/高带宽访问时,加大内存,提高内存缓存容量,可有效降低硬盘负荷。
         
        (3)、更新普通硬盘为更高效率的SSD固态硬盘,提升硬盘读写效率。

b、 如果源站页面更新后,要求快速生效,等不及硬盘缓存超时。这个需求可适当调高 【硬盘缓存设置】→ 【缓存参数配置】→【限定硬盘缓存页面内容的最小尺寸】值,
      从默认值 16384 = 16KB 尝试调高到 64KB/128KB/256KB/512KB 等几个档位,这样子硬盘只用于缓存大文件,常见的 html/php 等小页面(小于512KB)只缓存在内存中。 <参看截图>

6、系统配置 - 优化参考  

a、 如果 Fikker 只使用到了 “内存缓存” 功能,没有使用到 “硬盘缓存” 功能,【 限定硬盘索引内存占用百分比】 可设置为 0 ,这样子可将全部内存用于 “内存缓存” 。

b、 面向高并发访问需求,可调高【最大并发连接数】和 【源站最大并发连接请求数】 配置,从默认 5000 调高到 10000/20000/30000/40000/50000 等几个档位。

c、 其它配置请严格参照【帮助系统】去配置。

7、搭建集群 - 优化参考  

a、 通过 【集群管理】 将 CDN 所有节点添加到一个集群中,便于缓存同步清理/更新。<参看帮助>

8、清理缓存/更新缓存 - 手动清理/更新缓存   

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、对于更新比较频繁的源站页面,可通过【页面缓存】和【拒绝缓存】功能项增加或调整配置,将这一些更新频繁的源站页面,设置成只允许内存缓存,但不允许硬盘缓存。
     这样子做的好处是,便于手动即时的更新其页面(可参照上面的例子),降低硬盘缓存负荷。

9、节点正在被攻击 - 快速定位攻击域名!!!    

a、 通过 Fikker 监控端(CDN)快速定位攻击域名。<参看截图> <下载地址>

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!