Articles of caching

使IIS 7.5caching静态内容文件在不同的页面

在Windows 2008 R2上,使用DNS和IIS,我build立了我的开发testing服务器; 即我将有一个Web应用程序,我可以浏览http://test.dev 我将所有静态内容文件(如图像,js文件和css文件)移动到另一个可在http://cdn.test.dev上看到的应用程序 test.dev,使用cdn.test.dev URL像http://cdn.test.dev/js/jquery.js加载js,css和图像。 当我第一次加载test.dev的“〜/”时,所有的文件都会加载一个响应代码200; 当我在Firefox中按F5时,除了“〜/ default.aspx”之外的所有文件都将加载304响应代码; 但按Ctrl + F5再加载一个200代码; 如果我在test.dev中浏览另一个类似“〜/ pages /”的URL,那么所有这些静态文件都将重新加载一个200代码… 这是正常的还是我做错了什么? 其实我正在寻找这样的行为: 我希望客户端只加载一次http://cdn.test.dev/js/jquery.js 。 我希望客户端的浏览器在test.dev的所有其他页面上使用这个来自caching的jquery.js文件 这可能吗? 这是我在cdn.test.dev的根目录下的web.config文件: <configuration> <system.webServer> <caching> <profiles> <add extension=".png" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" /> <add extension=".gif" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" /> <add extension=".jpg" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" /> <add extension=".js" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" /> <add extension=".css" policy="CacheUntilChange" varyByHeaders="User-Agent" […]

Nginx + PHP-FPM忽略无caching头

我在php页面上使用下面的标题。 // Prevent page caching. header('Expires: Tue, 20 Oct 1981 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', FALSE); header('Pragma: no-cache'); 我还在URL中使用了rand = 999999999(带有一个真正的随机数字)。 但是页面仍然被caching。 重新加载工作,但首先加载caching。 任何人都知道我可以改变这个?

W3总caching或WP超级caching?

我只准备安装一个新的VPS ,在那里我将迁移一个stream量很好的WordPress博客(目前每天大约有4万个网页浏览量),而且我正在考虑caching策略。 我发现了不同的想法和build议,但是根据以前的经验,我将在Linode VPS上安装一个Nginx + PHP-FPM + MySQL (LEMP)系统。 我也读过关于将Nginx设置为与Apache的反向代理 ,甚至使用Varnish ,但我不知道是否所有这些都可以有利于博客的速度/性能(这是唯一将安装在VPS)。 现在的问题是… 你会推荐W3总caching或WP超级caching? 我在一些博客上使用了W3,但是我没有注意到很多好处,也不需要所有的select,所以我想我可以试试WP Super Cache。 另外,有些用户抱怨W3的configuration复杂,性能不足(甚至有些CPU比较多)。

用清漆caching大文件。 它是可行的吗?

我有一台服务器可以访问几百个文件。 他们都很大(有些超过10GB)。 这些文件不会更改,只能读取,但我需要通过广域网访问它们。 我想通过使用在用户附近运行的反向代理服务器来更快地访问。 例如: 用户X想要访问服务器A上的东西 用户X访问局域网上的反向代理服务器,导致caching未命中。 该文件被下载到这个代理服务器。 下次用户X想要相同的文件,他不需要去我的主服务器。 我知道这种情况是微不足道的,但我不会有很多stream量,我的问题更多的是与文件大小本身有关。 我读了一些关于caching大于2GB的文件的问题。 清漆是否面临同样的问题? 谢谢你的任何想法。

主机在清漆中的列表

我正在运行一个VPS与多个不同的网站,并在前面的清漆进行caching。 但是,有些网站不应该被caching。 我不想为每个网站制定单独的规则,而是制定一个通用的“不要caching”的列表,这个列表与一些规则相关。 可能? 在下面,我草拟了我想要的:VCLconfiguration中不应该被caching的网站列表(ACL语法)。 list cache_blacklist { "domain1.com"; "domain2.com"; } sub vcl_recv { if (req.http.host ~ cache_blacklist) { return(pass); } } sub vcl_fetch { if (req.http.host ~ cache_blacklist) { return(hit_for_pass); } }

鱿鱼:更快的互联网,但不响应

我configuration了我的局域网的squid代理网关服务器,一切工作正常,浏览可能更快,因为caching。 但似乎没有没有鱿鱼响应,因为当浏览没有鱿鱼页面加载通常以渐进方式加载(图像popup一个接一个,等等),但在鱿鱼,我们看到浏览器是“等待abcd.com ..”几秒钟,然后完整的页面popup。 有没有办法改变是行为,以便页面加载不会在几秒钟后完全呈现,但以渐进的方式,所以它似乎对用户的响应?

使用nginx服务器支持js / css / image降级

我有一个要求,我需要支持降级我的服务器代码。 我在我的nginxconfiguration文件中有以下行,表明浏览器可以caching页面,但必须通过服务器validation来检查文件是否更改。 add_header Cache-Control "no-cache"; 在我的服务器代码上完成所有升级后,这个设置对我来说工作得非常好。 但是,当把资源降级到旧版本时,当浏览器尝试validation资源更改时,nginx说资源没有改变,所以浏览器显示caching(较新)的资源,而不是降级的(较旧的)资源,资源。 作为一种解决方法,我可以使用以下设置来完全禁用caching,但效率不高,而且我想要caching。 add_header Cache-Control "no-store"; 那么如何让nginx识别降级?

如何正确地使浏览器上的本地caching失效?

我正在解决我的网站上的问题,用户将成功进行身份validation,但浏览器将加载(我相信)用户redirect到的页面的本地caching。 由于是本地caching,因此页面显示为未login。手动刷新页面(使用浏览器上的刷新button)后,页面会显示您已login。 对于正常的Drupallogin事件(经常)对于Facebooklogin事件,(间歇性地)发生这种情况(间歇性地),并且在login和加载页面之后(间歇地)发生页面请求。 我在Mac上重现了Firefox和Chrome上的错误。 该网站在Drupal 7上运行,并使用Varnish(在万神殿举办)。 使用Facebooklogin查看问题的示例再现步骤:1.从Facebook和我的网站注销2.使用Facebookloginbuttonlogin我的网站3.从我的网站注销(使用网站注销链接)。 我仍然login到FB 4.使用我的网站上的FBloginbuttonlogin 我期望最终login在主页上,而不是redirect到主页,而是caching的版本(所以看起来我没有login)。 刷新浏览器导致主页重新login,我从这里设置。 我已经从上面的复制步骤中检查了标题(下面),如果我理解正确,我认为它们表明浏览器正在加载本地caching,当它应该是一个新的页面请求。 我不是caching方面的专家,所以它可能是头或其他问题。 我只是不知道是什么原因。 这是从最初的FBloginbutton点击标题。 由于我已经login到Facebook,我马上redirect到我的网站(这是预期的)。 Request URL:https://www.facebook.com/dialog/oauth?client_id=407390309287595&redirect_uri=http%3A//www.zujava.com/fboauth/connect&scope=email%2Cuser_about_me%2Cuser_website Request Method:GET Status Code:302 Found Request Headers Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Connection:keep-alive Cookie:c_user=3413203; csm=2; datr=bq8bT_JILi0PrW8H9GZ5BMy6; fr=0MYU2YYrkDuegxlUi.AWVgxOkdsHe9zhvPJdDW7h70n48; lu=RgWtdyxDRmUr6dOIqyRyPhtg; s=Aa45lsbBS4F1Oll2.BQBsO2; xs=67%3AuZMhOYBden1YIw%3A2%3A1342620598; p=5; act=1342620710713%2F3%3A0; presence=EM342620710EuserFA23413203A2EstateFDutF0EsndF1EnotF0Et2F_5b_5dEuct2F134262011B0Elm2FnullEtrFnullEtwF2196532340EatF1342620710745Esb2F0CEchFDp_5f3413203F1CC; locale=en_US Host:www.facebook.com Referer:http://www.zujava.com/user/login User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 […]

当后端closures时,Varnish Server会引发错误503

当网站的后端closures时,清漆立即开始显示503服务不可用错误。 configuration是一切应该被caching7天。 如果后端会停下来一个小时,我希望这个站点能够维持下去。 caching服务器仍然应该从caching中提供页面。 该网站是一个完全静态的网站,每天有300.000页面浏览量。 到目前为止的命中率是2:5(MISS – HIT),我认为这也应该更高。 / etc / varnish / defaultconfiguration: backend www { .host = "ip address here"; .port = "http"; .connect_timeout = 1s; .first_byte_timeout = 5s; .between_bytes_timeout = 2s; } sub vcl_deliver { if (obj.hits > 0) { set resp.http.X-Cache = "HIT"; } else { set resp.http.X-Cache = "MISS"; } […]

CentOS虚拟机只使用三分之一的可用内存

我有一个在Parallels上运行CentOS的虚拟机片。 这是free -m的输出 [root@server ~]# free -m total used free shared buffers cached Mem: 960 272 687 0 0 0 -/+ buffers/cache: 272 687 Swap: 0 0 0 这是一个LAMP服务器,数据库本身超过1000 MB。 不应该“缓冲区”和“caching”显示更高的值,caching数据库文件? 它看起来只有1/3的内存正在使用。