cache笔记一 相关配置以及变量
来源:互联网 发布:nagios监控mysql主从 编辑:程序博客网 时间:2024/06/07 19:32
trafficserver的cache配置支持文件,裸设备等等,在安装好trafficserver后,默认配置文件目录为/usr/local/etc/trafficserver,与cache对应的配置文件有storage.config,volumn.config,以及cache.config,其中storage.config文件指定存储文件或者裸设备路径,具体使用说明见各文件的注释,这里不再赘述。
records.config文件中包含了很多可以控制cache行为的变量,详细的说明请参考trafficserver管理手册,这里说明其中几个变量的具体含义。
(1) proxy.config.cache.target_fragment_size
这个变量控制将一个文件分成几部分进行存储。trafficserver支持大文件存储,在读写大文件中,trafficserver将一个文件分成几个部分进行操作,这样的好处是,当写一个大文件时,如果这时候有读请求到来,且其中大文件的一部分已经写好,则该部分可以先提供给读请求。大文件分块的唯一影响是会使用更多的索引,如一个大文件是16M,而target_fragment_size为1M,这时共需要17个索引来保存大文件各部分对应磁盘上的元信息。一个索引占10个字节,所以通过修改该变量可以改变大文件占的内存索引的空间。
有些变量并没有写在records.config文件中,用户通过traffic_line命令可以查看或修改这些变量的值。
(2)
traffic_line -r "proxy.config.cache.hit_evacuate_percent"traffic_line -r "proxy.config.cache.hit_evacuate_size_limit"trafficserver的cache设计与squid的coss协议大体相似,将磁盘视为一个ring buffer,开始时write_pos指向磁盘头部,每写入内容后,就更新write_pos,使得该参数总是指向磁盘写入的位置。当写满磁盘后,write_pos重新指向磁盘头部,如此循环。由于重写会造成已有内容的覆盖,evacuate的机制的作用是,尽量使得即将被覆盖的内容中比较热点的文件重新写入磁盘,以避免overwrite造成的丢失。默认evacuate机制是关闭的,要将其功能开启,可以通过下面命令
traffic_line -s "proxy.config.cache.hit_evacuate_percent" -v 1traffic_line -s "proxy.config.cache.hit_evacuate_size_limit" -v 1该操作使得write_pos后占磁盘空间1%的内容中,读请求访问过的内容重新写入磁盘。
(3) proxy.config.cache.ram_cache.size与proxy.config.cache.ram_cache_cutoff
trafficserver的cache层分为两层:磁盘disk与缓存ram cache。在用户第一次请求一个页面时,ts会回源取出object返回给用户的同时,将object写入disk。当用户第二次请求object时,直接disk命中,这时如果条件符合就将object写入ram cache,以后用户再次请求相同object时,就可能直接缓存命中,从而提高响应速度,整个过程可以参考http状态机以及我在cu上写的web cache替换算法分析blog。proxy.config.cache.ram_cache_cutoff用于确定写入缓存的object大小,只有小于该数值的object才会缓存,默认为4M。proxy.config.cache.ram_cache.size为配置的缓存大小,对于在storage.config中配置的每一个disk,ts都会分配一个ram cache给它,分配的ram cache大小百分比与该disk占总体disk空间百分比相同。
如果用户下载了trafficserver的git工程,会看到其中有一个branch名为ssd,专用于对cache的优化,使得ts在配置有ssd盘与传统hdd盘时,能够高效利用ssd盘的性能。该工程安装后会创建一个新的配置文件storage_ssd.config,语法与storage.config文件相同。针对ram cache有一个额外的变量proxy.config.cache.ram_cache.ssd_percent,它是直接指定ssd盘可以分配的ram cache大小的百分比。如用户配置ram cache大小为8G,该变量为50,则ts分配4G给ssd盘,剩下4G给hdd盘,在各类型磁盘中,每个盘分配的ram cache与之前所述相同。
- cache笔记一 相关配置以及变量
- Query Cache相关配置变量和状态变量
- Hibernate学习笔记(4):基本映射以及相关属性配置
- SVN以及相关配置
- 【Quick-Cocos2d-x笔记】【一】Mac环境及相关配置
- mysql 配置相关的变量
- shell学习笔记:变量相关
- Struts2学习笔记(一)初步了解Struts2以及配置
- (一)jmeter3.0安装以及环境配置---学习笔记
- Spring笔记(一)---myeclipse2014配置spring以及简单使用
- emacs知识以及相关配置
- php 配置以及相关问题
- activemq相关api以及配置
- service 以及AIDL相关笔记
- Maven学习笔记(一)——自定义maven变量以及maven内置常量
- MVC学习笔记之入门篇(一)编程环境搭建以及相关学习资源
- PowerPC60x系列的L2 cache相关资料阅读笔记
- IMX6Q学习笔记———编写LED驱动和测试程序以及相关管脚配置
- 查看服务器硬盘信息
- Android的UI构造试图工具hierarchyviewer
- printf
- pugixml 一个xml解析库 简单快速, 支持XPath表达式, 感谢作者
- Linux/Unix下Shell快捷键操作大集合及部分Bash使用技巧-另附Ubuntu常用快捷键
- cache笔记一 相关配置以及变量
- tomcat 根目录设置
- 构建基本的嵌入式Linux根文件系统
- 45.递减左旋数列中查找一个数
- LR系列--LR脚本中动态获取数据库的值作为参数进行处理
- 根文件系统的制作
- php编程之正则表达式
- Cairngorm框架的使用记录
- java连接oracle数据库调用返回列表的oracle存储过程