注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

ATS6.0的一次初步配置案例  

2015-12-17 19:14:44|  分类: trafficserver编 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
预前工作:安装deb版本ats6.0
    如是懒人,可直接使用debian的测试源:
                      http://mirrors.163.com/debian/ sid main non-free contrib
ATS6.0的一次初步配置案例 - itoedr - itoedr的it学苑

一.反向代理缓存 配置

1.配置主参数文件records.config,这个文件一般在/etc/trafficserver/之下。
#records.config
CONFIG proxy.config.http.server_ports STRING 80
将80端口直接作为代理口.
CONFIG proxy.config.http.cache.required_headers INT 0
表示不对header做验证,都进行缓存 。
附注:现在v6.0的版本最好使用"traffic_ctl config set "来代替"traffic_line -s"动态配置参数。
 
CONFIG proxy.config.url_remap.pristine_host_hdr INT 1
如果需要反向代理(使用remap规则时)的话,不改变报文的header。
 
CONFIG proxy.config.http.cache.http INT 1
最关键的配置,配置是否开启http缓存,1是开启,相反0就不是了。
 
CONFIG proxy.config.reverse_proxy.enabled INT 1
        否开启反向代理,1是打开了这项代理功能,同时它是支持正向代理的。
CONFIG proxy.config.url_remap.remap_required INT 1
       配置为1时,ats进程才会从remap.config文件里读取你定制映射规则,当然这时你就有机会在这些规则中实现你的业务特色。
 
#remap.config
regex_map http://(.*)/  http://localhost:8080/
       这是最为技巧的一句,即让ats进程将所有向80号端口请求的报文的都给反向(重定向到)到本地的8080端口上去。下面一句在 这儿不论你是反向代理还是正项代理都一起生效。
         regex_map http://(.*)/  http://$1/
 
# storage.config
/cache/trafficserver 1T
        #cache的存放点与大小,一个T。
 
         关于时间,ATS确认缓存文件的有效性是以时间戳为基准的,因此时间必须是相同的基准,要不然ATS就不知道是不是要更新cache文件块或是保留。所以,最好ntp时间同步一下,如果回源服务器的时间和cache服务器的时间差很大,超过你的延时设置范围,ATS肯定失效。

2.查看结果

    如果想从请求头看是否hit或是miss。需要打开via。方法如下:
#records.config
CONFIG proxy.config.http.insert_response_via_str INT 0
  [参数说明:0不打印,1打印一点点。2打印比较多,3打印最多。]
# response header
HTTP/1.0 200 OK
Server: ATS/6.0.0
Date: Fri, 30 Oct 2015 06:34:10 GMT
Content-Type: application/octet-stream
Content-Length: 10485760
Last-Modified: Thu, 29 Oct 2015 02:05:41 GMT
ETag: "56317ef5-a00000"
Accept-Ranges: bytes
Age: 53
Connection: keep-alive
Via: http/1.1  ATStestserver
 [缓存服务器主机名]
(其中,ApacheTrafficServer/6.0.0 [cM[这个M说的就是miss,如果是hit的话就是H]sSfW])

3.日志分析
    如果你想从日志里看是hit还是miss的话,可以用下面这个命令traffic_logcat观察。
(默认squid日志是2进制的/不过这也是可以定制的,但是的应用中二进制的输出效率最高,squid.blog所以直接vi是很不现实的。ats有一个traffic_logcat的工具专门处理这个二进制的log,效率和,很贴心的实现)。
       traffic_logcat    /var/log/trafficserver/squid.blog
        注意:traffic_logcat后面的参数指明了ATS输出的二进制log。
    traffic_logstats是另外一个日志处理工具,更值得一用。
         "man traffic_ctl"提供的文本化配置。
          $ traffic_ctl config set proxy.config.log.squid_log_enabled 1
          $ traffic_ctl config set proxy.config.log.squid_log_is_ascii 1
          $ traffic_ctl config reload
 
二.ATS的cluster配置

1.配置
    以下命令,在集群的所有node上都要执行一下。
#records.config
CONFIG proxy.config.proxy_name STRING cache_cluster
#给集群先起个名,比如cache_cluster

LOCAL proxy.local.cluster.type INT 1
说明:1是全局集群。2是管理模式(好像只是配置项同步)。3是非集群模式
 
CONFIG proxy.config.cluster.ethernet_interface STRING eth0
配置一个网卡吧。默认时为:lo。 这个参数必须按照你实际系统配置。不同系统不同版本这个名称不一样,最好用“ip link”
 确认一下。
如果是在命令行下:
#traffic_line -s proxy.config.cache.ram_cache.size -v 2060288
也可以:
traffic_ctl config set proxy.config.cache.ram_cache.size  2060288
果是缓存文件比较大的话,建议把这个配到和你的大内存匹配。
    
重新启动配置:
traffic_ctl config reload
traffic_ctl server restart
trafficserver restart

2.查看集群配置 文件一般在/etc/trafficserver/cluster.config
#cluster.config
cat cluster.config
当然,正常的话,会看到集群的心跳IP和端口。

还可以直接使用命令行看的。
$traffic_ctl metric get proxy.process.cluster.nodes
$traffic_line  -r proxy.process.cluster.nodes

      完了再做个简单的性能调优吧。
       #traffic_ctl config set proxy.config.cluster.threads 10
 
    重启一下。 cluster的配置生效。
  
附:参考的一张图
ATS6.0的一次初步配置案例 - itoedr - itoedr的it学苑
  评论这张
 
阅读(103)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017