我们希望减少其中一台 Web 服务器的负载,并且正在使用配置为反向代理的鱿鱼运行一些测试。
配置在下面的备注中:
http_port 80 accel defaultsite=original.server.com
cache_peer original.server.com 父级 80 0 无查询 originserver name=myAccel
acl our_sites dstdomain .contentpilot.net
http_access 允许 our_sites
cache_peer_access myAccel 允许 our_sites
cache_peer_access myAccel 拒绝所有
我们遇到的情况是服务器几乎总是返回 TCP_MISS。
1238022316.988 86 69.15.30.186 TCP_MISS/200 797 GET http://original.server.com/templates/site/images/topnav_givingback.gif - FIRST_UP_PARENT/myAccel -
1238022317.016 76 69.15.30.186 TCP_MISS/200 706 GET http://original.server.com/templates/site/images/topnav_diversity.gif - FIRST_UP_PARENT/myAccel -
1238022317.158 75 69.15.30.186 TCP_MISS/200 570 GET http://original.server.com/templates/site/images/topnav_careers.gif - FIRST_UP_PARENT/myAccel -
1238022317.344 75 69.15.30.186 TCP_MISS/200 2981 GET http://original.server.com/templates/site/js/home-search-personalization.js - FIRST_UP_PARENT/myAccel -
1238022317.414 85 69.15.30.186 TCP_MISS/200 400 GET http://original.server.com/templates/site/images/submenu_arrow.gif - FIRST_UP_PARENT/myAccel -
1238022317.807 75 69.15.30.186 TCP_MISS/200 2680 GET http://original.server.com/templates/site/js/homeMakeURL.js - FIRST_UP_PARENT/myAccel -
1238022318.666 1401 69.15.30.186 TCP_MISS/200 103167 GET http://original.server.com/portalresource/lookup/wosid/intelliun-2201-301/image2.jpg - FIRST_UP_PARENT/myAccel image/pjpeg
1238022319.057 1938 69.15.30.186 TCP_MISS/200 108021 GET http://original.server.com/portalresource/lookup/wosid/intelliun-2201-301/image1.jpg - FIRST_UP_PARENT/myAccel image/pjpeg
1238022319.367 83 69.15.30.186 TCP_MISS/200 870 GET http://original.server.com/templates/site/images/home_dots.gif - FIRST_UP_PARENT/myAccel -
1238022319.367 80 69.15.30.186 TCP_MISS/200 5052 GET http://original.server.com/templates/site/images/home_search.jpg - FIRST_UP_PARENT/myAccel -
1238022319.368 88 69.15.30.186 TCP_MISS/200 5144 GET http://original.server.com/templates/site/images/home_continue.jpg - FIRST_UP_PARENT/myAccel -
1238022319.368 76 69.15.30.186 TCP_MISS/200 412 GET http://original.server.com/templates/site/js/showFooterBar.js - FIRST_UP_PARENT/myAccel -
1238022319.377 100 69.15.30.186 TCP_MISS/200 399 GET http://original.server.com/templates/site/images/home_arrow.gif - FIRST_UP_PARENT/myAccel -
我们已经尝试删除所有缓存。有任何想法吗。难道我的网站每次都会标记一些不同的内容,即使自上次代理请求以来它没有发生变化?
源服务器(Web 服务器)随您的内容发回哪些标头?为了能够被鱿鱼缓存,我相信您通常必须在响应标头中指定 Last-Modified 或 ETag。 Web 服务器通常会针对静态内容自动执行此操作,但如果您的内容是动态提供的(即使来自静态源),那么您必须确保它们存在,并处理请求标头,例如 If-Modified-Since 和 If-无匹配。
另外,由于您随后有关会话的问题指出了这个问题,因此响应中是否出现“Vary”标头?例如,“Vary: Cookie”告诉缓存内容可以根据请求中的 Cookie 标头而变化:因此静态内容希望将其删除。但是,如果存在会话,您的 Web 服务器可能会将其添加到所有请求中,无论所提供的数据的静态/动态性质如何。
根据我的经验,对 HTTP 标头进行一些实验来了解对缓存的影响是非常有益的:我记得发现解决方案并不总是显而易见的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)