ats这个东西好久没写博客了 现在离我认识ats已经有1年的时间了但是到目前为止 也没关注多少了  在上家公司 因为cache需求
比较简单所以ats上得比较快   本来一直想在我们公司推ats的  一开始由于3.2.4版本对206 range请求有问题 所以一直没上多少台
(其实上的就是 简单的一些web页面) 最近上了几台3.3.4的开发版本 简单测试了一下  range 206请求的问题好像修复了 
目前已经在线上 跑了1周多了 。

因为我们公司的squid进行过2次开发 支持多进程(进程数 完全可以自定义) 我稍微测试过一些性能 不比ats差多少  
而且我们公司的squid 功能模块有好几百个  功能比ats强大很多  这也是我推ats的 一大难处  大家都知道 ats 性能比较牛掰  
 今天没事测试了一些 ats的集群功能 这也是ats的一大特色功能    如果这个功能没问题 可以完全代理 我们线上的 前端haproxy
 (主要用他做一致性hash 功能  可以防止后端cache 重复存储)

下面开始简单 测试吧  (因为ats 集群功能设置很简单 下面主要是多讲讲概念性的东西 )

http://trafficserver.apache.org/docs/trunk/admin/cluster-howto/index.en.html

这个是官方文档的 一个说明  不是很多  英文好的 15分钟就搞定了

下面简单介绍下集群模式吧

ats的集群模式 就是如果你后端有多台ats cache设备 如果前端没haproxy 做hash的话  dns直接轮询解析过来 会出现多台
ats cache存储一样的文件 这样既影响网民访问 又影响后端cache 磁盘利用率  如果开启了ats集群功能   就相当于你多台
ats cache设备 可以共享自己的cache 存储   (ats 有进程一直在集群中进行通信 与更新 object资源)

下面举例子把  (假设有 3台ats 分别为 A  B C 3台设备)

如果一个object请求发送到A 设备上后   A设备会先看集群中(A B C)设备上有这个object没 如果没那就A直接去源站去抓取 
 然后自己存储  最后会把这个cache object存储 广播到其他集群节点去

当下次请求同一个object 访问到B 设备是(A B C都有可能) 这个时候 B 设备会去A设备上抓取这个内容(因为刚才 A设备存储了
这个object)  然后返回网民 (因为 A B C都在一个集群环境下  速度会很快)


这就是一个简单的集群例子  不知道 大家搞懂没

下面介绍下 ats集群模式的 2个模式吧

1. Management-Only Clustering

2.Full Clustering

大家看单词都能看懂    因为我们的cache 设备都是同级别的 所以我们一般采用第二种模块  有时间把第一种模式也测试下吧 
(配置其实很简单)

下面开始演示吧  (我是用的2台设备演示的 )





2台设备开启集群之前 这个集群节点都是1 (就是自己本身)

下面分别在2台设备上 进行下面的设置

traffic_line -s proxy.config.proxy_name -v CPIS-OPT  (定义一个名字 集群节点名字得一样)

traffic_line -s proxy.local.cluster.type -v 1(集群模式 1是full cluersing 模式 2.是management-only 模式 
3.是不加入集群 默认就是这个)

traffic_line -s proxy.config.cluster.ethernet_interface -v bond0 设备集群内部通讯网卡

traffic_line -x  reload配置

/etc/init.d/trafficserver restart 重启下服务

OK 2台设备 都设置完成后   过10s 在看看

traffic_line  -r proxy.process.cluster.nodes    取得集群节点数量





OK 都识别出来了

下面是ats 官方的一些性能优化配置 大家可以根据实际情况设置下

##性能优化
$traffic_line -s proxy.config.cluster.threads -v 10
$traffic_line -s proxy.config.cluster.num_of_cluster_connections -v 10  #我的3.3.4-dev版本有问题
下面测试下吧
我在其他一天上绑定自己抓下qq
第一次  MISS了

第二次 HIT了

OK 相当于预存储了下
我去其他一台设备也是抓取qq 你会看到 直接HIT 并且还是HIT CPIS-OPT
下面就不截图了
下面再看下 怎么把一个节点从集群中T掉(如果设备再集群自己down了  大家不用担心 ats其他集群节点会自动把他T掉的)
traffic_line -s proxy.local.cluster.type -v 3    把类型设置为3 就把是退出集群模式

results matching ""

    No results matching ""