Articles of caching

具有多个CacheRoot的Apache Cache

我为每个域/虚拟主机configuration了一个CacheRoot目录的Apache: <VirtualHost> ServerName domain1.tld … CacheRoot /var/www/vhosts/domain1.tld/httpdocs/cache … </VirtualHost> <VirtualHost> ServerName domain2.tld … CacheRoot /var/www/vhosts/domain2.tld/httpdocs/cache … </VirtualHost> 我有这个运行了一段时间,所以票价工作得很好,除了我必须经常手动清空caching,因为htcacheclean不知道不同的目录。 现在我想设置htcacheclean来监视caching目录,但作为我知道手册的票价,我只能将其设置为一个caching目录。 我想要做这样的事情,但这是行不通的: <VirtualHost> ServerName domain1.tld … CacheRoot /var/www/vhosts/domain1.tld/httpdocs/cache htcacheclean -n -t -p/var/www/vhosts/domain1.tld/httpdocs/cache -l1024M … </VirtualHost> 拥有多个caching导航器还是应该使用所有域的一个caching目录?

Apache2可以configuration为返回HTTP 1.0和1.1?

我试图找出一个caching问题。 我们目前正在使用内置caching的CMS。 然后,我们可以通过控制面板删除caching的副本,而未caching的页面将被投放,直到我们再次caching该页面。 长话短说,我们知道无论是代理服务器还是负载均衡器,我们都认为它正在caching页面以及CMS。 我们的具体问题是,当我们在CMS中取消caching页面时,需要15分钟(定时)显示未caching(即使在使用不同的浏览器,清除浏览器caching等之后),而在networking之前设备被引入,未被caching的页面将立即显示。 不幸的是,我们没有任何地方保存任何历史响应头。 当我们相信页面被proxy / lbcaching时,Response头将返回: HTTP/1.1 304 Not Modified Server: Apache/2.0.59 (Unix) JRun/4.0 mod_ssl/2.0.59 OpenSSL/0.9.8k PHP/5.2.6 Last-Modified: Fri, 03 Aug 2012 13:29:12 GMT Etag: "92fe-18f7-837ada00" Accept-Ranges: bytes Keep-Alive: timeout=5, max=100 Content-Type: text/html Content-Encoding: gzip Connection: Keep-Alive Date: Mon, 06 Aug 2012 13:49:40 GMT X-Cntnt-Length: 6391 当它没有被CMScaching时,响应头是: HTTP/1.0 200 OK Date: Mon, […]

Mod disk_cache永久caching图像并禁用重新获取标题更新

我试图让mod disk_cache使用ProxyPass永久性地caching从Web服务器上的映像服务器检索到的映像。 当图像正在从服务器正确检索,并从caching服务进一步请求,然后我仍然有Web服务器调用图像服务器,并导致caching头更新。 由于负载的担忧,那么我需要在caching一次之后再次调用图像服务器,或者尽可能延长刷新时间。 networking服务器是IHS 7.0 mod是mod_disk_cache.so,mod_cache.so,mod_proxy.so版本2.2.8.0 以下是从我的httpd.conf: ProxyPass /webserver/media/images/ http://imageserver.com/ws/media/images/ # Caching pictures <IfModule mod_cache.c> <IfModule mod_disk_cache.c> CacheDefaultExpire 2628000 #CacheDisable CacheEnable disk /webserver/media/images/ CacheIgnoreCacheControl On CacheIgnoreHeaders Cookie Referer User-Agent X-Forwarded-For X-Forwarded-Host X-Forwarded-Server Accept-Language Accept Host CacheIgnoreNoLastMod On CacheIgnoreQueryString Off #CacheIgnoreURLSessionIdentifiers CacheLastModifiedFactor 10000000.1 #CacheLock on #CacheLockMaxAge 5 #CacheLockPath CacheMaxExpire 1576800 CacheStoreNoStore On CacheStorePrivate On CacheDirLength […]

如何禁用Nginx的网页caching,以避免ISPcaching?

我的问题很简单。 我今天早上在主页上做了一些修改(添加了一些句子),并没有出现在我的浏览器中。 我清除symfonycaching,nginxcaching,APCcaching,重新启动Apache,重新启动Nginx和…什么都没有。 然后我尝试从我的智能手机上访问它。 依然没有。 但是我的同事尝试了,而且工作。 (我们有两个不同的ISP) 所以我build议这是ISPcaching问题。 因为我试图从生产服务器上运行它,它工作。 然后我尝试了一些其他的东西:我通过www.mydomain.com访问了我的主页,但是我用Apache IP地址而不是Nginx IP地址修改了标题,并且工作正常。 所以看起来这是一个Nginx的ISP问题,但我不知道有什么问题… 任何帮助将非常感激! 这是我的NGINXconfiguration文件: server { listen 80; ## listen for ipv4 server_name www.mydomain.com; access_log /var/log/nginx/nginx1.access.log; error_log /var/log/nginx/nginx1.error.log; location / { proxy_pass http://apache; } location ~* ^.+.(swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|woff)$ { proxy_cache_valid 2d; proxy_pass http://apache; proxy_cache staticfilescache; } )

清漆caching'MISS状态'的对象?

我的网站使用nginx,varnish,jboss。 而且一些url会被varnishcaching,这取决于jboss的响应头。 第一次,jboss告诉varnish不会caching这个url。 然后第二个请求,jboss告诉varnishcaching,但清漆不会caching它。 我用varnishstat,发现1个对象被caching在varnish中,是'MISS status'对象吗? 我删除grace代码,问题依然存在。 当我PURGE这个URL,清漆工作正常,然后caching的url。 但是我不能在每次启动的时候都这么干,我该如何解决这个问题呢? configuration: acl local { "localhost"; } backend default { .host = "localhost"; .port = "8080"; .probe = { .url = "/preload.htm"; .interval = 3s; .timeout = 1s; .window = 5; .threshold = 3; } } sub vcl_deliver { if (req.request == "PURGE") { remove resp.http.X-Varnish; remove […]

CSS和JS文件没有被更新,据说是因为Nginxcaching

我有我的networking应用程序与AppCache合作,我希望当我修改我的HTML / CSS / JS文件,然后更新我的caching清单,当用户访问我的Web应用程序,他们将有一个更新版本的这些文件。 如果我更改了一个HTML文件,它完美的工作,但是当我更改CSS和JS文件时,旧版本仍在使用中。 我一直在检查一切,我认为这与我的nginxconfiguration有关。 我有一个cache.conf文件,其中包含以下内容: gzip on; gzip_types text/css application/x-javascript text/x-component text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon; location ~ \.(css|js|htc)$ { expires 31536000s; add_header Pragma "public"; add_header Cache-Control "max-age=31536000, public, must-revalidate, proxy-revalidate"; } location ~ \.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$ { expires 3600s; add_header Pragma "public"; add_header Cache-Control "max-age=3600, public, must-revalidate, proxy-revalidate"; } 而在default.conf中我有我的位置。 我想这个caching在除了一个地方的所有位置上工作,我怎么能configuration这个? […]

Apache gettext – 重启后caching持久化

通过Plesk运行apache2。 当我通过颠覆更新.mo文件,然后重新启动apache(通过命令行或通过Plesk界面),翻译不会更新。 修改文件的时间戳是正确的。 有没有办法手动重置caching? 谢谢!

Nginx,wordpress:无法正确的反向代理caching,由于Set-Cookie。 推荐一个好的策略

我正在尝试为WordPress的博客做反向代理caching,我碰到了一些麻烦。 初始configuration是这样一个简单的反向caching location / { proxy_cache_key "$scheme://$host$request_uri"; proxy_cache staticfilecache; proxy_pass http://wordpressapache; add_header Cache-Control public; proxy_cache_valid 200 302 10d; 我很快意识到,login的用户将被发送与折腾,所以我做了 proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Accept-Encoding ""; location / { # If logged in, don't cache. if ($http_cookie ~* "comment_author_|wordpress_(?!test_cookie)|wp-postpass_" ) { set $do_not_cache 1; } proxy_cache_key "$scheme://$host$request_uri $do_not_cache"; proxy_cache staticfilecache; […]

如何指示linux不要换出mmaped文件的热页面?

我有一个服务器,我运行工作进程,mmap serveral相当大的只读“字典”文件(共约8GB)。 testing表明,他们只能在这些文件中只有大约1GB左右的页面。 在同一台服务器上,我运行另一个顺序读取大文件的进程,合并一些更新,并将结果写入这个巨大文件的新版本。 除了这个“合并”过程和“工作者”过程之外,服务器上没有其他的主要活动。 所以通常情况下,工人应该受到CPU限制,合并应该是磁盘的。 但我所看到的是,工人们经常扼杀主要的页面错误。 合并使用大约20GB的RSS和机器有48GB。 有4名工人。 他们有2GB的RSS每个,只有600MB的共享(而不是预期的1GB的热页)。 不知何故,内存的其余部分主要由fscaching使用。 有没有办法“优先”我mmaped文件的热页面内存? 我试图madvise(MAD​​V_WILLNEED),但似乎没有帮助。 也许有一个与cgroups或sysctls解决scheme? $免费 caching总共使用的空闲共享缓冲区 Mem:49324064 48863392 460672 0 22520 25409896 – / + buffers / cache:23430976 25893088 交换:0 0 0 $ uname -a Linux dev-kiwi02 3.2.0-25-server#40-Ubuntu SMP Fri May 25 13:12:35 UTC 2012 x86_64 GNU / Linux PS在StackOverflow上已经问过这个问题,但看起来像ServerFault更合适。

磁盘caching(写回)自动禁用

几天前我发现(使用Munin)我的服务器有很高的iowait时间。 原因是写caching被禁用。 我使用hdparm -W1 / dev / sda启用它,但一段时间后(ramdonly)它再次被禁用。 系统日志中没有关于此事件的信息。 我更新了内核到2.6.18-308.20.1.el5#1 SMP,似乎更好,但问题仍然存在。 我closures了每一项服务,但问题仍然存在。 你知道我在哪里可以得到一些信息或login知道为什么写cachingclosures? 一些硬件信息: 硬盘:西数WDC WD5000AAKX-00ERMA0主板:Intel D945GCPE 任何帮助表示赞赏。