Squid3 缓存网站有效,但不能缓存大文件,尽管最大文件大小为 6GB

Squid3 缓存网站有效,但不能缓存大文件,尽管最大文件大小为 6GB

对于家庭实验室环境,我在 CentOS 7(最小)上设置了一个 Squid 3.3.8 缓存服务器作为代理服务器(而不是具有透明缓存的默认网关)。

使用 Xubuntu 客户端,我设置了代理网络:

export http_proxy="192.168.1.15:3128"   (the same pattern for https and ftp)

Web 浏览功能正常,我可以看到它进入了日志/var/log/squid/access.log。但是,尽管有 30GB 的可用缓存空间和每个对象大小限制为 6GB,但 .ISO 映像等大文件却无法缓存。

我该如何排除故障并修复此问题?

我在日志文件中连续看到两次未命中,我理解这意味着 Squid 缓存失败。

1442197979.371 394811 192.168.1.61 TCP_MISS/200 666894705 获取 http://ftp.osuosl.org/pub/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1503-01.iso - HIER_DIRECT/140.211.166.134 应用程序/八位字节流
----
1442199880.195 414232 192.168.1.61 TCP_MISS/200 666894705 获取 http://ftp.osuosl.org/pub/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1503-01.iso - HIER_DIRECT/140.211.166.134 应用程序/八位字节流

鱿鱼配置:

缓存目录 ufs /var/spool/squid 30720 16 256
缓存内存 256 MB
内存中最大对象大小 512 KB
最大对象大小 6 GB
cache_replacement_policy 堆 LFUDA
范围偏移限制 -1
quick_abort_min -1 KB

答案1

根据这个答案在 Server Fault 上—来源此主题官方 Squid Proxy 支持网站—应将文件中的maximum_object_size放在 上方。cache_dirsquid.conf

知道这一点后,只需从这里更改您的配置:

cache_dir ufs /var/spool/squid 30720 16 256
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
maximum_object_size 6 GB
cache_replacement_policy heap LFUDA
range_offset_limit -1
quick_abort_min -1 KB

对此:

maximum_object_size 6 GB
cache_dir ufs /var/spool/squid 30720 16 256
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
cache_replacement_policy heap LFUDA
range_offset_limit -1
quick_abort_min -1 KB

重新启动 Squid 代理并查看发生的情况。

相关内容