ATS名词术语(待续)

2024-03-18 15:18
文章标签 ats 待续 名词术语

本文主要是介绍ATS名词术语(待续),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ATS名词术语

副本(alternate)

缓存对象(cache object)的一种变体,最初创建该术语是为了处理HTTP协议中的VARY机制(RFC2616#sec14.44),现在多用于其它的目的。一个对象的所有副本必须以某种方式等价,也就是说,它们是同一个流的等价形式,最常用的一个例子就是,一个流既有普通版本也有压缩版本。

缓存分片(cache fragment)

缓存的内容存储单元,缓存的读操作每次只能读取一个完整分片,但是写操作可以按组一次写入多个完整分片。每个分片都对应一个缓存目录项,它描述了该分片在磁盘缓存中的存放位置,比如offset和长度。

缓存ID(cache ID)

磁盘缓存中一个对象固定长度(8字节)的标识符,由缓存key使用MD5哈希算法得到。

缓存Key(cache Key)

磁盘缓存中一个对象的全局唯一标识符,是字节序列,默认是缓存对象的URL。

缓存对象(cache object)

磁盘缓存中最小自含性(self contained)数据单元。缓存对象是源站返回的数据流的等价存储版本(因为可能会有些微修改)。单个对象可以有多个所谓的副本(alternate)。

缓存分区(cache partition)

ATS中根据相关协议,源站或是其它规则对缓存对象做区分和分开存储的一种磁盘划分机制。缓存分区的定义和管理的讨论详见《缓存划分》。

缓存容量(cache span)

storage.config配置文件中每行描述的使用到的磁盘物理存储容量。

存储单元(storage unit)

缓存容量的过时叫法。

缓存带(cache stripe)

单个缓存容量(cache span)内的一类位于同一磁盘上的持久化缓存单元。一个缓存容量会包括多个缓存带,缓存带总是完全位于单块物理磁盘上,是最小独立的(即使发生磁盘故障)存放数据不受影响的存储单元。在相同缓存容量内不同缓存带上存放的数据没有差别,仅是缓存带不同。

缓存标签(cache tag)

缓存ID的尾部几个比特(当前12bit),用于进行磁盘操作前对缓存目录项(cache directory)做的初步身份检查(identity check)。

缓存分卷(cache volume)

用户在配置文件volume.config中定义的缓存持久化存储单元。为了增强健壮性,缓存分卷默认会分布到整个缓存容量内部,缓存容量和缓存分卷的交集就是缓存带

目录项(directroy entry)

内存中用来描述一个缓存分片的结构体,即源码中的Dir

目录桶(directory bucket)

相邻目录项的固定大小(当前为4)的分组,用于哈希桶的维护和优化。

目录段(directory segment)

目录桶的连续分组,每个缓存带中都有一个目录段的集合,每个目录段中有相同数目的目录桶。不同缓存带中每个目录段所含目录桶的个数略有不同。管理目录段的目的是让free list存放目录桶的指针,并将free list存放目录桶的指针。

写光标(write cursor)

新数据写到磁盘上的缓存带的位置。

对象缓存(cache store)

缓存对象的数据库。

新鲜度(fresh)

缓存对象的一种状态,该状态下的缓存对象能直接从缓存中读出并响应客户端的请求。新鲜的缓存对象并不满足或是超过源站定义的过期时间,它们也还没有达到算法确定的过期时间(stale age)。

验证(revalidation)

验证当前缓存的对象是否合法(valid)。常常通过在请求头中添加If-Modified-Since头来让源站验证内容的合法性,源站并不会再次发送回响应内容。

continuation

包含状态的一种可调用对象,ATS就是使用该机制去实现回调和连续计算。连续计算对网络流量(traffic)的高效处理非常重要,因为它能避免在等待外部事件发生时产生的任何阻塞操作(blocking operation),在任何情况下,使用continuation机制可以使得其它操作仍能继续进行,直至外部事件发生,然后立即调用该continuation去继续处理先前挂空的操作。也可以视作类似协程(co-routines)的处理。

事务(transaction)

包含客户端的请求和响应,响应可以来自源站,也可以来自缓存。一次事务开始于ATS接收到客户端请求,终止于ATS发送出响应。

会话(session)

客户端和ATS的一个网络连接,包括该连接上所有的请求和响应,随客户端打开连接而开始,随连接关闭而终止。

全局插件(global plugin)

可以操作所有事务的插件,相对于remap插件

remap插件(remap plugin)

一种特殊插件,它只对匹配上remap.config配置文件中定义的特定重映射规则的那些事务做操作,相对于全局插件

源站

能够提供原始内容让ATS缓存的一种HTTP服务器,常见的有Apache,nginx等。

这篇关于ATS名词术语(待续)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/822758

相关文章

MATLAB数据拟合中的若干问题(待续)

1. 多项式拟合 多项式拟合的形式如下: y=∑i=1Npixn−i+1=p1xn+p2xn−1+⋅⋅⋅+pnx+pn+1 y=\sum_{i=1}^Np_ix^{n-i+1}=p_1x^n+p_2x^{n-1}+···+p_nx+p_{n+1} 其中 p p为权重向量P=[p1,p2,⋅⋅⋅,pn,pn+1]\mathbf{P}=[p_1,p_2,···,p_n,p_

python错误信息+解决方案合集(待续)

import random outcomes = {'heads':0, 'tails':0} sides = outcomes.keys() print(sides[0]) 会产生错误:TypeError: 'dict_keys' object does not support indexing 这是由于python3改变了dict.keys,返回的是dict_keys对象,支持i

市场需求调研-待续

一个日本人一个英国人去一个岛上做鞋子市场调研, 英国人调研完了, 说这个岛没市场, 因为岛上的人都没有穿鞋子的习惯也用不着穿鞋子, 日本人调研完了, 很兴奋得对领导说: 这个岛有市场, 因为岛上的人都不穿鞋子!

DayDreamer's Blog Qt资料整理~待续

今天偶然看到一条关于Qt5.10发布的消息,发现Qt经历了诺基亚风波之后发展得依然良好,感到很欣慰。回头看上次关注Qt技术还是2011年,那时候用Qt4.7做一个小项目,对于一个写Win32界面和MFC的程序员来说,有种相见恨晚的感觉。如今时间已经过了近7年,又有桌面项目要做,当然首选Qt5。 先收集一些资料,后面慢慢消化。 【官网】 官网:https://www.qt.i

性能测试待续。。。【搬代码】

1.什么是性能测试一级性能测试的价值和目的 2.真实企业性能测试指标详解以及指标测算 3.真是企业中新跟那个测流程以及细节剖析 4.性能压测脚本自动化生成以及脚本增强和组件详解 理论–》指标–》压测脚本–》脚本完善和增强–》模拟真是场景–》压测场景–》监控平台-》平静定位和性能调优 一.什么是性能测试一级性能测试的价值和目的 性能测试就是通过性能压测工具(jmeter、loadrunner),

NSNumber、NSString、NSDate、NSCalendarDate、NSData(待续)

http://blog.csdn.net/jerryvon/article/details/7350567 NSNumber + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithDouble:(double)value; - (int)intValue; - (double)doubleVa

ATS通过header头重写解决HIT/502故障

某局点的ats经常出现HIT/502的故障,客户一旦发飙,这是个扯不清的问题,如果是MISS/502那可以说是源站错误,但HIT/502就与ats业务系统有关系了。    经过手动测试,同一个url直接回源连续访问,偶尔就有502,问题很明显了,源站是不稳定的。分析后发现源站使用某厂家的CDN做的分发,造成了源站不稳定,我们拿到的是CDN的内容,而且返回的502信息中还有明确的max-ag

调整ATS日志处理机制及相关脚本

在ATS的尝试使用中,日志处理是很重要的一环,我在研究这个时候花了不少精力,首先我们测试用的ATS是5.3.2版本,默认打印的是二进制日志squid.blog,一天一切割,当然也可以变为文本日志,不过ATS自带的很牛逼的分析traffic_logstats就用不了了,怎么办呢?苦思冥想,最后想了个好办法,打两套日志,文本日志存档,供我们看,二进制日志一天一删除,哈哈,问题圆满解决。为了迎合

Android常用设计模式总结-待续

设计模式总结 1.面向对象的六大原则: 1.1 解决类的耦合性:单一职责 定义:就一个类而言,应该只有一个职责。如果一个类有一个以上的职责,这些职责就耦合在了一起。 当一个职责发生变化时,可能会影响其它的职责。 原则:遵守单一职责原则,将不同的职责封装到不同的类或模块中。 1.2 解决程序可扩展性:开闭原则 定义:软件中的对象(类,模块,函数等等)对于扩展是开放的,对于修改是封闭的。 原则:

QT UI编程细节(待续)

1.  设置QTableView中只能选择单行      setSelectionMode(QAbstractItemView::SingleSelection); 2. 设置以行做为选中的最小单位     setSelectionBehavior(QAbstractItemView::SelectRows); 3.设置最后一行或最后一列拉伸      horizontalHeader(