refresh_pattern的作用:
用于确定一个页面进入cache后,它在cache中停留的时间。
语法:
refresh_pattern [-i] regexp min percent max [options]
几个概念:
resource age =对象进入cache的时间-对象的last_modified
response age =当前时间-对象进入cache的时间
LM-factor=(response age)/(resource age)
举个例子,这里只考虑percent, 不考虑min 和 max
例如:refresh_pattern 20%
假设源服务器上www.aaa.com/index.htm -----lastmodified 是 2007-04-10 02:00:00
squid上 proxy.aaa.com/index.htm index.htm进入cache的时间 2007-04-10 03:00:00
1)如果当前时间 2007-04-10 03:00:00
resource age =3点-2点=60分钟
response age =0分钟
index.htm还可以在cache停留的时间(resource age)*20%=12分钟
也就是说,index.htm进入cache后,可以停留12分钟,才被重新确认。
2)如果当前时间 2007-04-10 03:05:00
resource age =3点-2点=60分钟
response age =5分钟
index.htm还可以在cache停留的时间(resource age)*20%=12分钟-5=7
LM-factor=5/60=8.3%<20%
一直到2007-04-10 03:12:00 LM-factor=12/60=20% 之后,cache中的页面index.htm终于stale。
如果这时没有index.htm的请求,index.htm会一直在缓存中,如果有index.htm请求,squid收到该请求后,由于已经过期,squid会向源服务器发一个index.htm是否有改变的请求,源服务器收到后,如果index.htm没有更新,squid就不用更新缓存,直接把缓存的内容放回给客户端,同时,重置对象进入cache的时间为与源服务器确认的时间,比如2007-04-10 03:13:00,如果正好在这个后重新确认了页面。重置后,resource age变长,相应在cache中存活的时间也变长。
如果有改变则把最新的index.htm返回给squid,squid收到会更新缓存,然后把新的index.htm返回给客户端,同时根据新页面中的Last_Modified和取页面的时间,重新计算resource age,进一步计算出存活时间。
实际上,一个页面进入cache后,他的存活时间就确定了,即 (resource age) * 百分比,一直到被重新确认。
理解了百分比后,min max就好理解了
squid收到一个页面请求时:
1、计算出response age,
2、如果response age<min 则 fresh 如果response age>max 则 stale
3、如果response age在之间,如果response时间<存活时间,fresh,否则stale
转自 http://blog.chinaunix.net/u/15315/showart_324467.html
分享到:
相关推荐
在IT领域,Squid是一个广泛使用的开源代理缓存服务器,它能够显著提高网络性能,减少网络带宽消耗。在Squid配置中,`refresh_pattern...因此,理解并正确应用`refresh_pattern`对于优化Squid缓存服务器的性能至关重要。
refresh_pattern . 0 20% 4320 ``` **Squid 的透明代理** 透明代理允许 Squid 在不修改客户端配置的情况下工作,通常通过 IP 路由或者 iptables 规则实现。例如,以下 iptables 命令将所有外出 HTTP 流量重定向到 ...
refresh_pattern . 0 20% 4320 ``` ### 五、安全与过滤 1. **内容过滤**:Squid可以配合第三方模块(如 SquidGuard)进行URL过滤: ```conf include /etc/squid/squidguard.conf ``` 2. **HTTPS支持**:...
refresh_pattern . 0 20% 4320 visible_hostname cdn dns_nameservers 61.139.2.69 202.98.96.68 cache_mgr root # 访问控制规则 acl QUERY urlpath_regex cgi-bin ? no_cache deny QUERY acl coach urlpath_regex...
在实际应用中,理解和配置这些关键点是成功部署和管理Squid代理服务器的关键。通过不断调整和优化,Squid能够为企业或组织提供强大的网络加速和安全管理功能。对于深入学习,可以参考"Squid教程.pdf"文档,它将提供...
- **其他选项**:还包括但不限于`refresh_pattern`、`quick_abort_*`等选项,用于进一步优化性能。 #### 三、Squid互通与ICP配置 - **Squid互通配置**:通过`visible_hostname`、`hostname_aliases`等选项配置...
【LVS与Squid配置详解】 ...总之,LVS结合Squid的配置需要对操作系统、网络、缓存策略有深入理解。通过合理的配置,我们可以构建一个高效、稳定且可扩展的网络服务架构,满足高并发访问和数据缓存的需求。
refresh_pattern . 120 5 ``` 3. **解析配置参数**: - `http_port 80 vhost vport=80`: 指定Squid监听的端口为80。 - `cache_mem 1024 MB`: 设置Squid使用的缓存内存大小为1GB。 - `cache_dir ufs /var/spool...
7.7 refresh_pattern 第8 章高级磁盘缓存主题 8.1 是否存在磁盘I/O瓶颈? 8.2 文件系统调整选项 8.3 可选择的文件系统 8.4 aufs存储机制 8.5 diskd存储机制 8.6 coss存储机制 8.7 null存储机制 8.8 哪种最...
总结来说,强制 Squid 缓存动态页面需要理解 HTTP 缓存机制、Squid 的配置细节以及如何处理特定服务的响应头信息。通过对 Squid 配置的精确调整,我们可以克服默认设置的限制,实现对动态内容的有效缓存,提高服务的...
在《Squid 中文权威指南》第七章中,深入探讨了Squid的磁盘缓存机制,这对于理解和优化Squid的性能至关重要。 #### cache_dir指令详解 `cache_dir`指令是Squid配置中最核心的部分之一,它定义了Squid如何以及在...
8.Squid.conf 配置说明Squid.conf的配置项很多,例如`cache_dir`定义缓存存储位置,`http_access`控制访问策略,`refresh_pattern`设置缓存更新规则等。详细解释需要查阅官方文档。 9.Squid 命中率分析Squid的命中...
7.7 refresh_pattern 第8章 高级磁盘缓存主题 8.1 是否存在磁盘I/O瓶颈? 8.2 文件系统调整选项 8.3 可选择的文件系统 8.4 aufs存储机制 8.4.1 aufs如何工作 8.4.2 aufs发行 8.4.3 监视aufs操作 8.5 ...
- **refresh_pattern**:配置Squid如何决定是否重新从源服务器获取缓存的对象。 ### 8. 高级磁盘缓存主题 - **磁盘I/O瓶颈**:识别和解决Squid在磁盘I/O上可能遇到的性能瓶颈。 - **文件系统调整选项**:调整文件...
《Squid 权威指南》是一本深入探讨Squid缓存代理服务器的书籍,旨在帮助读者理解和掌握Squid的安装、配置以及在实际生产环境中的应用。Squid是一个广泛使用的开源HTTP代理/缓存服务器,它能够显著提高网络访问速度,...
此外,Squid还支持其他高级特性,如缓存策略(`refresh_pattern`)、DNS缓存时间(`dns_timeout`)、连接超时(`connect_timeout`)和读取超时(`read_timeout`),以及针对不同HTTP状态码的访问控制。 总结来说,通过...
8. `refresh_pattern`控制缓存对象的刷新策略,如HTML、图片等文件的更新频率。 日志记录方面,可以通过`logfile_rotate`设置日志轮转次数,`cache_log`、`access_log`和`store_log`分别记录缓存、访问和存储操作的...