Articles of caching

Nginx似乎正在发送caching版本的页面

我已经安装了nginx,而且生产工作非常好,但是在开发时我有时会遇到这个问题。 为了重现这个问题,我做了以下工作: 在名为test.html的公用文件夹中用文本“hello”创build一个文件。 在浏览器中打开test.html,正确显示“hello”。 修改文件test.html以包含文本“hello world”。 加载网页,仍然说“你好”。 我的第一个猜测是我的浏览器正在caching这个,但我试着清除caching,甚至使用不同的浏览器,或者只是原始的wget,但都是一样的。 我调查了访问日志,发现当更改发生时,确实被注意到,因为有两个状态为200的访问,并且任何后续的没有更改的重新加载是304。 此外,服务器正在虚拟机中运行,并从链接的文件夹中获取文件,所以我怀疑VM可能无法正确看到文件,但将其加载到VM中显示更改正常。 重新启动nginx也没有帮助。 重新启动整个虚拟机,但每次都必须要做到这一点非常糟糕。 新文件反映良好,只是修改现有的文件是麻烦的。 就我所知,我没有设置任何caching。 我怀疑nginx正在做一些caching,无论是在磁盘上还是在内存中,尽pipe注意到文件已经改变,但是当被问到时它仍然返回旧的caching版本。 只是寻找一些可能的解决scheme? –Update– 我查看了configuration文件,发现了一些我不明白的东西: sendfile on; 评论这条线修复了这个问题。 有人可以解释这是什么比http://articles.slicehost.com/2007/12/13/ubuntu-gutsy-nginx-configuration-1/更好吗? – 更新2 – 添加到Nginx wiki的信息: https : //www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#config-changes-not-reflected

DNScaching域不能从外部IPparsing

我在外部networking的CentOS盒子上使用了dnsmasq。 我的configuration文件如下所示: port=53 bind-interfaces user=root group=dnsmasq pid-file=/var/run/dnsmasq.pid domain-needed bogus-priv no-hosts dns-forward-max=150 cache-size=1000 neg-ttl=3600 resolv-file=/etc/resolv.dnsmasq no-poll log-facility=/var/log/dnsmasq.log log-queries 当我将我的计算机的DNS IP设置为我的VPS时,没有任何网站可以解决。 我可以在日志文件中看到

跟踪Linux下巨大的缓冲区使用情况

我是一个在Debian Lenny下运行4GB内存的Linux服务器。 它不会运行大量的东西: Postfix / spamassassin(守护进程模式)Bind9 KVM(一个guest虚拟机 – 1G RAM)每天正好在UTC时间3:05,服务器完全掉到底层几乎所有的内存。 在那之后,我用了超过2G的缓冲区,并且从来没有清理过(除非我手动告诉内核放弃caching)。 我在网上search了很多,在开始时,我认为这是由于NFS缓冲区的使用。 我使用gzip / tar备份NFS共享驱动器,备份在3:05发生。 但是,我现在处于一个非常奇怪的情况,因为我在1:40(2分钟内完成)移动了备份任务,而且我仍然在3点05分将所有的内存全部删除。 在我的日志中,没有什么特别的,只是在03:05:01,cron以root身份打开一个会话,并立即closures它在03:05:02没有做任何事情。 当然,cron已经重新启动,我检查了任务的时间 – 再次,没有什么特别的。 任何想法为什么发生这种情况 或者,有关如何跟踪所有这些缓冲区的使用情况的想法? 谢谢你的帮助,

浏览器继续请求caching文件的标题,即使在指示它之后

我正在尝试添加expires头文件到像这样的nginxconfiguration: location ~* \.css|\.js|\.jpg|\.jpeg|\.png|\.gif|\.swf|\.svg|\.tiff|\.pdf|\.ico$ { expires max; add_header Cache-Control "public"; } 预期的是: 对于静态内容,我不应该在Chrome或Firebug的开发者控制台的networking选项卡中看到任何行。 但是我发现,无论您如何发送请求,浏览器都会重新请求标头。 (使用f5或通过新标签加载链接),并返回一个304响应代码。 任何想法如何使浏览器明白,它不应该问到2037年? 编辑:响应/请求标题: 响应标题: Request URL:http://static.shrinath.cm.com/css/maintenance_view.css Request Method:GET Status Code:304 Not Modified Request Headersview source 请求标题: Accept:text/css,*/*;q=0.1 Accept-Charset:UTF-8,*;q=0.5 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Host:static.shrinath.cm.com If-Modified-Since:Mon, 18 Jul 2011 08:46:58 GMT Referer:http://shrinath.cm.com/maintenance User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Ubuntu/11.04 Chromium/14.0.821.0 Chrome/14.0.821.0 […]

IIS 7.5caching经典ASP响应和静态文件

我从Windows Server 2003迁移到Windows 2008 R2非常困难。 我的ASP代码似乎工作,但过了一段时间用户开始抱怨他们看到其他人的反应! 用户1:search – >获取loggingA(*) – >编辑 – >提交 用户2(在另一台PC上):search – >获取loggingA – > IE显示预编辑版本(*)! 之后我已经禁用了caching/内核caching,但是其他所有的设置都应该是默认的 在某种程度上相关的问题:我有一个.Net 2 ASP.NET应用程序使用Log4netlogging。 在迁移到W2k8 R2之后,日志时间戳已经过时了。 例如,在下午5点,最后修改时间仍然是1AM(同时使用目录和资源pipe理器)。 记事本显示5pm版本。 (我检查了如果我编辑一个文件并保存它,时间戳是正确的) 我在IIS上为日志设置了一个虚拟目录,下午5点我从下午4点看到内容。 我尝试通过追加'?'来强制刷新 到URL的末尾,它显示了2pm版本! 即使使用其他浏览器,我也会得到旧的数据。 提琴手显示响应时间是当前,当我刷新浏览器,然后使用Modified-Since标记来查找post 5pm数据,IIS将返回没有更改。 指针非常感谢!

为什么我的samba服务器即使在caching数据的时候也能很慢地提供数据?

我有一个基于Samba安装的CentOS 5.6服务器。 它有一个8驱动器连接到槟榔1880 Raid 5,hdparmtesting给我回〜450MBPS,我可以确认接近与dd到/ dev / null。 向networking提供文件是10gbe Myricom卡,客户端都是同一台交换机上的broadcom / intel / etc。 我的问题似乎在整个相当一致,单个stream文件复制性能很差,当文件没有被caching到服务器上的内存。 我说的是9-12MB的文件,如果我复制一个1GB的文件,性能是通过屋顶,通常1gbe客户端90%以上。 当我复制9-12MB的文件,比如说100个文件时,大约会有40-50%的使用率,一旦caching在服务器上,它将在1gbe客户端网卡上使用55-65%的MAYBE,但是不会更多。 为什么?!? 我可以复制多个caching的顺序文件序列,并得到可能在客户端NIC上的85%以上的使用率,为什么单个文件序列不能达到95%+? 所有客户端都设置为卸载tx / rx数据包到适配器,不幸的是他们没有使用巨型帧,但我已经testing与Jumbos打开,仍然看到相同的性能。

Membase梦魇连接太多

我们有一组四个Web应用程序(C#,ASP.NET,NHibernate)和一些用于共享Northscale实例的服务。 我们已经升级到了Membase,在这一点上,我们实际上能够开始有效地使用NHibernate的二级caching。 但是,一旦我们将应用程序投入生产,memcache服务停止在端口11211上监听telnet,pipe理界面显示它正在使用9.99k连接。 根据我们的数据库中的stream量来判断,我们认为应该发生下面的一个或多个步骤。 在这两种情况下,服务器都位于Windows 2008服务器上。 1)我们应该允许更多的连接到服务器。 据称这是通过使用-c参数调用可执行文件完成的。 实际上,在我们的机器上,当我们尝试这个时,我们得到一个错误,指出它不能加载default_engine.so。 2)我们应该减less我们的应用程序使用的池大小。 目前,主要的Web应用程序(其中有许多实例运行不同的客户端),有一个大小介于10到100之间的连接池。 3)我们需要考虑这是否是一个networking饱和的问题。 根据pipe理控制台,我们有足够的RAM。 所有的stream量都可能在Rackspace的一些硬件上淹没了吗? 还有其他明显的问题来源,我们可以忽略吗?

nginx代理caching和ssi

我正在使用nginxcaching来自上游apache服务器的请求,但是我想要从apache一直提取几块内部。 我希望ssi可以做到这一点,但是SSI标签不经过预处理就输出给用户。 location ~* ^.+\.html$ { proxy_pass http://localhost:9999; proxy_cache_key "$prime$scheme$host$request_uri"; ssi on; ssi_silent_errors off; log_subrequest on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Country $country_code; proxy_cache my-cache; proxy_cache_bypass $http_x_refresh_cache; proxy_cache_valid 200 302 30d; proxy_cache_valid 404 10m; proxy_cache_valid any 1m; } 这是相关的nginx conf。

IIS 7:特定文件的过期标题

我对根目录中的网站上的所有静态内容进行了此configuration: <configuration> <system.webServer> <staticContent> <clientCache cacheControlCustom="public" cacheControlMode="UseExpires" httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" /> </staticContent> </system.webServer> </configuration> 现在我想给一个子目录中的特定文件和根目录中的favicon文件提供一个不同的expires头文件。 上述代码后,我正在尝试此configuration,但我得到一个服务器错误。 <location path=""> <system.webServer> <staticContent> <clientCache cacheControlCustom="public" cacheControlMode="UseExpires" httpExpires="Tue, 19 Jan 2012 03:14:07 GMT" /> </staticContent> </system.webServer> </location> 也许任何人可以帮忙?

是否有可能从客户端检测IIS内核模式caching?

我的公司有一个与内核模式caching相关的严重问题的软件。 我们已经分发了一个修复程序,但我们希望知道谁没有应用修复程序。 我想知道是否有可能检测内核模式caching,当你唯一的访问是networking。 我试图从头来确定这个,但是这可能无法正常工作,因为IIScaching在服务器端。 使用内核模式caching打开或closures,我得到相同的标题。 Accept-Ranges:bytes Content-Length:9272 Content-Type:image/gif Date:Mon, 05 Dec 2011 19:59:32 GMT ETag:"56424ca4193cc1:0" Last-Modified:Tue, 25 Oct 2011 18:13:26 GMT Server:Microsoft-IIS/7.5 X-Powered-By:ASP.NET 我读过另一个问题,IIS不会立即开始caching,但会等待文件的命中次数,以确定它是否应该被caching。 所以我使用了一个脚本来下载文件10K次,但是这并没有改变头文件。 这是可能的使用脚本,萤火虫,或任何其他客户端解决scheme?