Articles of caching

L2caching停止变快了吗?

我正在读这个问题,其中引用L2caching点击约10ns: networking现在比磁盘更快? 不过我清楚地记得486代有10nscachingIC。 谷歌search似乎支持( http://vogons.zetafleet.com/viewtopic.php?p=262795 )。 所以我的问题是,L2caching刚刚停止变得更快? 这是已经达到的内存速度的基本限制? 还是他们的其他问题呢?

如何防止nginxcaching空白页面?

我有一个Ubuntu 12.04机器上运行的nginx 1.4.3。 我有nginx设置caching页面(他们是数据库驱动,但保持相当静态)。 我正在使用MySQL和PHP-FPM。 但是,我发现我会间歇性地获取空白页面caching。 没有任何错误,只要从/var/cache/nginx删除相应的文件,页面就会回来。 经过一番调查,我发现问题是,如果收到一个HEAD请求,nginxcaching一个空的响应作为该URL的完整响应。 所以HEAD /example在/example页面的caching文件中存储一个空白文件,后续的GET /example返回一个空白页面。 (我似乎经常从各种search引擎和机器人获得HEAD请求。) 这里是相关的网站configuration: location ~ \.php$ { try_files $uri =404; fastcgi_cache one; fastcgi_cache_key $scheme$host$request_uri; fastcgi_cache_valid 200 5m; fastcgi_cache_valid 301 302 304 12h; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /srv/www/mysite/public$fastcgi_script_name; fastcgi_param HTTPS off; } 这是一个在Nginx中的已知错误? 通过各种search,我还没有find任何有关这方面的信息。 有没有解决方法? 根据这个,无法防止cachingHEAD请求。 我想也许有一些'请求方法'variables可以添加到fastcgi_cache_key ,以便HEAD和GET请求分开caching。 但我什么都找不到

什么是“caching控制”做一个页面,而不是静态文件?

当我为一个页面的“caching控制”设置一个值,我的浏览器caching整个页面就像js或css? 我已经设置了“Cache-Control:max-age = 2592000,public”,并监控apache访问日志。 看起来浏览器对“Cache-Control:max-age = 2592000,public”没有任何作用。 不仅我仍然得到'200'的回应,但我的服务器必须将数据发送回浏览器。 何时/为什么要为页面设置“caching控制”?

使用SSD构build高性能文件服务器作为caching

我想build立一个文件服务器,为用户提供大约50TB的内容。 为了最大限度地提高服务器的吞吐量,我将利用以下scheme。 50 TB的硬盘存储空间。 所有的静态文件都驻留在这里。 6 TB的SSD存储。 这将作为最受欢迎内容的caching。 一个cachingpipe理器,决定什么应该驻留在硬盘或SSD。 基于这种架构,最stream行的文件被复制到SSD驱动器,并从那里服务。 cachingpipe理器是一个定制的软件,根据我的应用程序特点而devise。 关于这个计划,我有几个问题。 我应该担心SSD的写入限制吗? 有什么caching框架,我可以使用写我的专用cachingpipe理器,根据我自己的规则?

nginx反向代理不cachingphp生成的图像

我正在testing在nginx中创build一个caching,并让它在我设置的两个目录下工作得很好,除了以下内容:当我尝试caching一个php生成的图像时,它只是作为我的apache服务器的代理运行php图像 – 生成脚本。 它可以在任何静态html,css,js或文本文件上正常工作。 我怎样才能让nginxcachingphp生成的图像呢? 我在想我的PHP一代可能会失去一些东西,使nginx认为它是一个可caching的文件,但不知道从哪里去。 这是我的nginx.conf: user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { proxy_cache_path /var/www/cache/muncherelli/cdn levels=1:2 keys_zone=muncherelli:8m max_size=1000m inactive=600m; proxy_cache_path /var/www/cache/mi/client/images levels=1:2 keys_zone=miclient:8m max_size=1000m inactive=600m; proxy_temp_path /var/www/cache/tmp; server { location /muncherelli/cdn/ { proxy_pass http://muncherelli.com/wp-content/; proxy_cache muncherelli; proxy_cache_valid 200 302 60m; proxy_cache_valid 404 1m; } location […]

IE不正确地使用它的本地caching的Intranet网站,并返回HTTP 200而不是HTTP 304

我是一个在工作中遇到问题的开发人员。 当我创build任何types的.Net Web应用程序(ASP.Net,ASP.Net MVC)时,将其部署在本地计算机的IIS上,或作为Intranet应用程序在Intranet IIS服务器上运行,并在浏览器中运行, IE浏览器。 通常当你第一次访问一个站点时,文件被下载并存储在浏览器的本地caching中。 在随后的访问中,浏览器使用文件Etags或上次修改date向服务器发送请求。 如果文件没有改变,服务器可以响应HTTP304,从而阻止文件的完全传输。 在我的工作networking上, 除了总是返回HTTP 200的IE 以外 ,所有的浏览器都可以正常工作,从而再次下载文件。 我可以在Visual Studio中启动一个新项目,并且caching对其他浏览器可以正常工作,但不能用于IE。 如果我在家中(在我自己的计算机上)创build相同的项目,caching工作正常, 包括 IE浏览器在内的所有浏览器。 这使我相信有一些干扰这个过程的东西。 可能是一些IEconfiguration(这是由一个组策略控制,我没有访问或可能是一个IISconfiguration,这再次我没有访问或其他东西完全。 我有权访问IE的临时文件,我可以看到文件存在于这个文件夹中。 什么可能导致这个? 在接近系统pipe理员之前,我需要一些信息。 在提琴手下的标题 开发者工具networking选项卡 编辑: 这是我在Visual Studio的IIS Express中创build和托pipe的一个新项目: IE首次加载: Firefox第一次加载: IE第二次加载: 我们可以看到所有的请求都是200,总的时间是相同的。 Firefox第二次加载: 我们可以看到,主要的请求之后的所有请求都是304,总的时间不到第一个负载的一半。

当在nginx上实现浏览器caching时,静态资产的404错误

目前我有一个nginx.conf文件,看起来像这样(用括号代替敏感数据): worker_processes 3; events { worker_connections 1024; } http { access_log [/…]; error_log [/…] crit; include mime.types; sendfile on; server { server_name […] […]; return 301 […] $request_uri; } server { listen 127.0.0.1:[…]; root [/…]; location / { include uwsgi_params; uwsgi_pass […/uwsgi.sock]; } } } 如果我在现有位置{…}子句之后添加以下行,如此处所示 ,加载网站将为图像,CSS和js资产产生“404未find”错误: location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1d; } 我怎样才能实现浏览器caching,而不会导致“404”的问题?

caching设置为我的networking服务器(varnish,bcache)

我有几个关于caching的问题: 基本上我有一台服务器,为其他地方托pipe的网站提供图片/video。 它运行球童(但这不是重要的)。 我有一个8TB的ZFS(硬盘)池,在编写本文时,大约有1TB的东西,这些文件往往是caching的好目标,因为访问模式不是随机的(一个特定的post将会stream行几天并获得成千上万的点击率,然后减慢)。 我也有一个200GB的SSD,我打算用于某种caching。 我想得到一些反馈是什么样的caching将是最有用的。 FWIW我的服务器有32GB RAM。 我的主要问题是(在记忆中)如果我有更多的内容比记忆更清漆有用吗? 我已经做了一些关于当Varnish耗尽内存以及我读过的东西暗示“不好的事情”时会发生什么情况的search,但是这对我来说似乎很奇怪。 我可以想象,如果在短时间内高频率地击中一些物品,即使没有足够的内存来caching一切,Varnish也会performance的很好。 接下来的问题是关于bcache,这在很大程度上取决于关于我们的用例的清漆可行性的答案。 我有这个200GB的固态硬盘,我应该使用它作为bcache(并且在内存中有varnish),或者我应该使用光盘上的清漆(在SSD上,比大HDD池还要快很多)内容的一部分被caching?

如何使Samba股票脱机

我们有几个RHEL5开发服务器,每个开发人员一个。 每台服务器都是开发人员自己的沙盒,可通过Samba共享(RHEL5客户端无法使用,公司策略需要Windows XP)提供Subversion检出function。 现在有几个开发者把笔记本作为主要的开发工具,并希望即使在没有networking连接的情况下,例如在演示室或家中,也可以使用他们的代码。 R / W当然是首选,但R / O也可以。 我正在考虑一些具有透明持久性caching的系统,它们是一个虚拟驱动器,它可以在线时与原始共享同步,并在脱机时replacenetworking驱动器。 有可能的其他解决scheme,你会推荐什么? 编辑:从评论来看,我注意到有多难解释我们在做什么。 我会再试一次。 有一个中央SVN存储库和开发人员的开发工作。 但是,他们不允许直接将这些框用作Linux客户端,而是由于公司的限制,他们需要使用Windows XP作为开发客户端。 因此,networking服务器停留在RHEL5开发框(参考平台)上,结账也停留在那里,并通过Samba(独家!)与开发人员共享。 SVN是什么也没有误解,只是检出位于服务器而不是客户端。 正因为如此,它们并不是在网上可以得到的,但是我们希望它们是 – 而这正是我的问题的实质。 告诉我这是否容易理解:)

用GPO停止CSC

我有networking驱动器映射到我的用户。 如果他们因为某种原因失去了networking连接,就会拉起客户端的caching版本,让用户在那里工作。 现在一些重复的文件正在popup,人们看到不一致的版本的东西。 我想这样做,当用户失去networking连接,他们不能访问文件。 期。 编辑 我忘了提及我的文件服务器是基于Linux的samba共享