Articles of caching

nginx proxy_hide_header仍然caching头文件

我使用nginx和proxy_cache来caching一些页面,我已经设置了一个单独的刷新位置块来刷新一个特定的caching条目。 我已经testing了这一点,它为刷新工作正常。 但是它也caching了set-cookie头(我使用的框架,Symfony,即使没有login也总是为新用户创build一个新的会话cookie)。 我search了一下,显然proxy_hide_header应该帮助我,但它只隐藏返回给客户端的最终响应头,头仍然被caching。 我也尝试了其他标题,并有相同的结果。 我也尝试使用headers_more_module(more_clear_headers),但这也没有帮助。 有没有人知道这里有什么问题,或有别的我想要做的? 我正在使用nginx 1.11.2,这是configuration: location ~ /refresh(/.*) { allow 127.0.0.1; deny all; rewrite ^/refresh?(/.*)$ $1 break; proxy_hide_header "Set-Cookie"; proxy_ignore_headers "Set-Cookie" "Vary"; proxy_cache FOS_CACHE; proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_cache_key $uri$is_args$args; proxy_cache_valid 200 1m; proxy_cache_bypass 1; access_log /var/log/nginx/cache_refresh.log cache_info; } 谢谢

重复的最大年龄标题

我正在使用Apache 2.4.25使用代理传递公开一些后端服务。 Apache还会根据MIMEtypes设置caching控制标头。 当前的cachingconfiguration如下所示: ExpiresActive on ExpiresDefault "now" ExpiresByType text/html "now" ExpiresByType image/gif "access plus 120 minutes" ExpiresByType image/jpeg "access plus 120 minutes" ExpiresByType image/png "access plus 120 minutes" ExpiresByType text/css "access plus 60 minutes" ExpiresByType text/javascript "access plus 60 minutes" ExpiresByType application/x-javascript "access plus 60 minutes" ExpiresByType text/xml "access plus 60 minutes" ExpiresByType application/javascript […]

请求在NGINX中caching

我试图caching我的请求在Nginx。 我已经连接我的django服务器作为上游。 现在,我试图caching我的请求。 proxy_cache_path /var/cache/nginx/ keys_zone=one:10m; location / { proxy_cache one; proxy_cache_valid 200 302 10m; proxy_no_cache $cookie_nocache $arg_nocache$arg_comment; proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment; proxy_cache_use_stale error http_502; proxy_pass http://127.0.0.1:8000; } 一切正常,但现在我已经添加了 proxy_cache_use_stale error http_502; 这个说法。 这意味着即使在出现错误的情况下也应该提供caching的内容,502响应代码。 为了testing它,我停止了我的django服务器,即使在django服务器closures的情况下,它也应该立即提供这些请求。 但它又一次发送502坏的网关。 我在这里有什么不对吗? 我怎么知道我的请求是否被caching?

硬盘写入caching被禁用时性能更好? (HGST Ultrastar 7K6000和媒体caching行为)

请注意。 长时间阅读。 在我打算在Ceph设置中使用的日立Ultrastar 7K6000硬盘的初始性能testing中,我发现了一个奇怪的现象:当磁盘写入caching被禁用时,写入性能会更好。 我用fio : fio –filename=/dev/sda –direct=1 –sync=1 –rw=randwrite –bs=4k –numjobs=1 –iodepth=1 –runtime=60 –time_based –group_reporting –name=4krandw 写caching禁用时: hdparm -W 0 /dev/sda 4krandw: (groupid=0, jobs=1): err= 0: pid=6368: Thu Jun 22 07:36:44 2017 write: io=63548KB, bw=1059.9KB/s, iops=264, runt= 60003msec clat (usec): min=473, max=101906, avg=3768.57, stdev=11923.0 写caching启用时: hdparm -W 1 /dev/sda 4krandw: (groupid=0, jobs=1): err= […]

收获dynamicHTTP内容以生成复制HTTP静态内容

[我在stackoverflow.com上问这个,但是他们认为这个列表会更好] 我有一个从J2EE服务的dynamic网站正在慢慢发展。 服务器的响应时间和负载能力不足以满足客户的需求。 此外,临时请求可能会意外地影响在同一应用程序服务器/数据库上运行的其他服务。 我知道原因,短期内无法解决。 我理解HTTPcaching提示(expiry,etags ….),并且为了这个问题的目的,请假设我已经减less了减less负载的机会。 我正在考虑对系统中的所有URL进行蛮力遍历来初始化一个caching,然后将caching内容复制到客户端附近的地理分散caching服务器。 我正在考虑Squid或Apache HTTPD mod_disk_cache。 我想要初始化一个副本并(手动)复制caching内容。 我不需要奴隶之间的联邦或情报。 当数据改变时,使caching无效,我将刷新我的主caching并更新从版本,可能每晚一次。 有没有人build立一个httpcaching,然后复制它? 这是个好主意吗? 还有其他技术我应该调查吗? 我可以编程,但我更喜欢开源技术解决scheme的configuration。 谢谢 ps上下文:根本问题当然是: 在数据库服务器上的数据库查询负载 Web /应用程序服务器上的业务逻辑加载。 响应时间通常是几十秒(请不要问)。 如前所述,我不能在短期内解决它们(或者说,我正在解决它们,但是它们中有很多,它们不是基于JSP的,…)。 我有与美国,欧洲和亚洲用户的客户,所以我非常想复制caching一旦我已经准备好了。 对于企业内部用户来说,Akamai就不合适了。 我想tar,压缩caching和FTP它回奴隶。 在其他情况下,caching服务器,但不是应用程序需要在DMZ上

Gzip与反向代理caching

我在Ruby on Rails上运行了大多数静态站点,它使用Varnish反向代理caching来保存命中Rails后端。 问题是,用户可以login到网站,当他们这样做,我们使用ESI(边缘包括)来显示用户特定的页面部分。 使用ESI意味着我们必须在Rails后端禁用Gzip压缩(使用Nginx + passenger),否则varnish不能parsing从后端返回的数据以运行ESI处理。 我的问题是,使用反向代理caching的好处是否超过了gzip所有内容的好处? 还是应该尝试摆脱ESI完整,并有两全其美?

SQL Server缓冲区caching与Windows磁盘caching

我已经阅读了关于SQL Server缓冲区caching和关于调整它的各种讨论,使用最大和最小内存设置。 但是我有一个疑问:操作系统也有磁盘读取caching。 如果我在可用的操作系统内存下使用最大内存方式,操作系统是否会caching磁盘页面,并使其下次检索速度更快?

在添加第二个后端之后,清漆VCL重新加载失败

我已经在我的生产服务器上成功运行了几个星期了。 现在我正在尝试configurationVarnish来为某些请求使用第二个后端。 我原来的工作VCL(/etc/varnish/default.vcl)是这样开始的: 后端默认{ .host =“127.0.0.1”; .port =“8080”; } VCL的其余部分… 我正在改变它: 后端默认{ .host =“127.0.0.1”; .port =“8080”; } 后端backend2 { .host =“12.34.56.78”; .port =“80”; } VCL的其余部分… 当我重新加载VCL文件时,我得到以下内容: Command failed with error code 106 Failed to reload /etc/varnish/default.vcl. 任何想法是什么错误,或者我怎么能得到更多的信息在这个问题上? (注意:为了重新加载VCL,我使用这里find的脚本: http : //kristian.blog.linpro.no/2009/02/18/easy-reloading-of-varnish-vcl/ )

如何在Linux中禁用多path路由caching?

似乎曾经有一个configuration选项来禁用多pathIP路由caching在Linux中,但已被删除? 有没有任何解决方法,或禁用此行为的方法?

Linux磁盘caching如何与iSCSI和GFS2协同工作?

我打算通过iSCSI共享一个GFS2文件系统到我的networking服务器。 我的Web服务器读取的文件是使用存储在内存中的Linux磁盘caching在本地caching还是只caching在GFS2群集上?