我对整个访问和修改感到困惑。 我想要文件被caching,直到它们被修改。 如果数据相同,则显示caching版本。 如果数据已更改,请下载更新的版本并将其caching。 我不明白为什么你会想要任何不同的东西? 所有这些访问加上6个月对我来说是没有意义的。 如果上次修改date比cachingdate更新,则请求新文件。 难道这不是这么简单吗? 我希望能够在2012年1月1日创buildindex.html并让每个人都caching它。 我不希望它被再次下载,直到我编辑它。 假设我在2012年1月5日进行了编辑,并且自2012年1月1日以来没有看到过index.html的用户,他们应该会看到他们有2012年1月1日的caching,但是现在该文件的最后一次修改时间为2012年1月5日,所以他们下载2012年1月5日版本并caching它。 我从来不想编辑一些东西,让用户在任何时间都看不到它。 我希望在下次请求时查看我所有的编辑内容。 我怎样才能做到这一切的所有文件?
所以我有我的nginx服务器上的静态文件的这个响应头。 Cache-Control:max-age=2592000 Connection:keep-alive Date:Sat, 11 Dec 2010 22:28:13 GMT Expires:Mon, 10 Jan 2011 22:28:13 GMT Last-Modified:Sat, 11 Dec 2010 22:11:35 GMT Server:nginx/0.6.32 我想删除服务器签名以减less响应大小。 我应该在我的服务器configuration中添加什么,以使浏览器使用文件,甚至不向服务器发出请求,总体上尽可能高效? 目前我可以很快得到服务器上的js: http : //i55.tinypic.com/orrons.png 编辑:我知道添加这个属性:add_headercaching控制公共; 而响应标题是这样的: Cache-Control: max-age=31536000 Cache-Control: public 因为我已经到期了 也设置。 有没有办法join他们? 我也检查了Facebook的JavaScript文件的回应,他们使用这些技术: HTTP/1.1 200 OK Content-Type: application/x-javascript; charset=utf-8 Last-Modified: Sat, 01 Jan 2000 00:00:00 GMT Pragma: Content-Encoding: gzip X-Cnection: […]
我目前正在尝试通过Web.configconfiguration一个ASP.net Web应用程序,以在特定的文件夹中托pipe一个GWT WebApp。 我已经设法configurationmimeMap的.manifest文件扩展名在system.Webserver / staticContent部分,但是,我坚持与clientCache。 我想添加一个caching规则,以便使用“.nocache”的文件。 与以下标题一起提供: "Expires", "Sat, 21 Jan 2012 12:12:02 GMT" (today -1); "Pragma", "no-cache" "Cache-control", "no-cache, no-store, must-revalidate" 任何人都知道如何在IIS 7+中做到这一点?
我们有一个来自NetApp的共享存储器,安装在大约80个系统上(全部运行Ubuntu 10.04 64位)。 现在,用户家庭加载到实验室机器上存在一些问题(authentication是即时的)。 文件pipe理器需要很长时间。 桌面项目出现很长时间后说2-3分钟。 启动谷歌浏览器会显示“正在build立caching…”,并在那里search“。Firefox启动但不打开任何网站。每5次login尝试中就有3次出现此行为,这意味着其他2次尝试都能正常工作。甚至几台机器都没有固定,所有的行为都是一样的。 任何提示可能是什么原因,我应该从哪里开始debugging?
我有一台第三方面向对象数据库服务器,运行在具有24 GB RAM的Windows Server 2003 x64机器上。 除了一些系统进程和监视工具之外,数据库服务器是在这台机器上运行的唯一的东西。 我打开了10〜130GB和1〜5GB的数据库文件,后者是最常访问的,是给我的问题。 每当数据库服务器刷新这个数据库文件,似乎需要永远完成。 因为一旦数据写入磁盘,DBMS将放弃其事务日志,因此必须等待刷新完成。 我在Process Monitor中查看了IO文件,看到在正常操作之前,在冲刷之前,有很多缓冲写入(通常是128字节,有时多一点)随机的文件偏移量。 这是可以预料到的,因为小数据块以不可预测的模式添加到数据库中并在数据库中更新。 当事务日志已满并发生刷新时,有大约8000次写入4K的倍数(相关计算机上的页面大小),在我分析的一个实例中总计大约35 MB。 刷新大约需要12秒钟,数据库服务器挂起。 我们的存储人员告诉我,每次写入1.5ms(12秒除以8000次写入)就是SAN的正常性能,没有任何事情可以加快速度。 我已经读过Windows Internals 4中文件caching的工作方式,它提到cachingpipe理器会尝试在后台线程上定期写脏页面到磁盘,即使应用程序没有请求刷新(懒惰的作者) 。 有什么办法可以使页面更快地写入磁盘,所以当应用程序调用FlushFileBuffers时,应用程序只能等待写入磁盘,只剩下一些脏页了? 本书还提到,cachingpipe理器中只有一个给定文件的副本。 这是否意味着我可以通过在单独的进程中打开相同的文件并定期调用FlushFileBuffers来触发刷新,因此当数据库服务器请求刷新时再次刷新会更less? 还有其他的操作或文件系统参数,我应该看看? 我听到的一个build议是增加文件系统中的页面大小,因为这样可以通过增加每个IO写入SAN的字节数来提高吞吐量。 由于在刷新过程中保存的页面是非连续的,所以我怀疑这会做什么,对不对?
我的本地networking上有一个用于开发的IIS Web服务器,我想禁用所有的caching机制。 IIS似乎是caching一切,即使当我禁用输出caching像这样: 我已经在我的web服务器的根目录中设置了上述内容。 奇怪的是,在开始caching之前,我需要多次请求一个文件。 我知道它不能成为客户端相关的问题,因为我检查他们每次都从服务器请求一个新的副本。 我做了什么的例子: 我创build一个HTML文件 我在浏览器中导航到服务器上的上述HTML文件(例如http://example/path/to/file/test.html ),并刷新页面几次。 我更改了磁盘上的HTML文件 我再次在浏览器中刷新页面,但仍然看到旧的HTML文件,而不是我在step 3保存到磁盘的新文件。 IIS版本:7.5,Windows版本:Windows 7 任何人都可以帮我吗?
我configuration了鱿鱼匿名search和caching代理。 最初它运行良好,两周后变得缓慢(加载网页变慢),然后我不得不看着鱿鱼。 我看到有更新的标准版本的鱿鱼,然后我更新了从3.1.19到3.2.4的鱿鱼。 现在鱿鱼运行从我们的networking只通过鱿鱼代理服务器的所有stream量。 我再次看到互联网连接速度慢,然后我启用cachingfunction在鱿鱼作为 cache_dir ufs /var/cache/squid3 10240 32 512 cache_mem 256 MB 我检查了caching的大小 du -sh /var/cache/squid3 输出: 65米 有一天,我看到了同样的65 M ,我再次检查了caching的大小,鱿鱼没有caching任何东西。 会有什么问题? 我应该configuration其他的东西吗? 互联网连接非常缓慢。
我不确定这是否适用于所有的Android手机,但似乎很多Android浏览器都不会cachingApple Touch图标,并将其重新加载到每个页面视图上。 我在我的HTML页面的<head>中有以下内容: <link rel="apple-touch-icon" sizes="152×152" href="/path/to/icon.jpg" /> 在我的服务器日志中,我看到很多来自Android客户端的访问者在每个页面视图上都要求图标文件: [02/Jan/2014:16:21:43 +0100] "GET /path/to/icon.jpg HTTP/1.1" 200 13017 "-" "Mozilla/5.0 (Linux; U; Android 4.1.2; de-de; GT-I9100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30" [02/Jan/2014:16:22:04 +0100] "GET /path/to/icon.jpg HTTP/1.1" 200 13017 "-" "Mozilla/5.0 (Linux; U; Android 4.1.2; de-de; GT-I9100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30" […]
我想使用nginx作为caching逆向代理。 我也有一个特殊的要求,我认为可以用nginx来完成。 我使用Amazon S3作为原始服务器,并使用已签名的URL来保护内容。 因此,每个用户都会获得一段时间后过期的唯一url。 即使每个用户都有一个唯一的URL,为了让nginxcaching内容,我将caching键定义为仅包含请求文件名(参见下面的configuration)。 那到目前为止工作很好。 问题是,如果请求的URL将是无效的,因为查询string中的签名太旧或无效,服务器无论如何传递文件。 因为它被caching。 我确认了最初的请求必须包含有效的签名。 如果用户请求中的signture无效,nginx无法从服务器上获取(当然)。 现在我想要的是在每个请求上重新查找文件。 此重新查找应该与用户指定的URL一起进行。 如果请求成功,则应该传递caching的文件。 这正是使用Cache-control: must-revalidate应该完成的行为Cache-control: must-revalidate 所以我在我的原始服务器(amazon s3)上configuration了这个头文件。 然后我意识到,nginx并没有相应的行为。 所以文件直接从caching中传递而不需要与原始服务器进行validation。 因此,不好的签名不被识别,用户可以下载。 问题1:在这种情况下,有没有办法让nginx获得必须重新validation的头文件? 这是我的configuration文件 proxy_cache_path /home/sbgag/cache keys_zone=MYZONE:10m inactive=365d max_size=10g; server { listen 80; server_name test.mydomain.com; location / { proxy_pass http://s3-eu-west-1.amazonaws.com; proxy_set_header Host s3-eu-west-1.amazonaws.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_key "$request_filename"; more_set_headers "X-My-Proxy-Cache-Key $request_filename"; more_set_headers […]
我正在运行一个Linux软件突袭10的服务器。这是一个双CPU系统与64GB RAM。 与每个CPU相关的2x16GB调光器。 我想用dd来备份kvm虚拟机,并且遇到严重的io问题。 首先我认为是与raid有关,但这是linux内存pipe理的一个问题。 这里是一个例子: 内存很好: http : //i.stack.imgur.com/NbL60.jpg 我开始dd: http : //i.stack.imgur.com/kEPN2.jpg 你也看到nmon显示磁盘访问: http : //i.stack.imgur.com/Njcf5.jpg 过了一会儿,“缓冲区”很大,复制进度停止http://i.stack.imgur.com/HCefI.jpg 这里是meminfo: http : //i.stack.imgur.com/KR0CE.jpg 这里的dd输出: http : //i.stack.imgur.com/BHjnR.jpg 我可以手动解决临时的问题,强制删除caching:“sync; echo 3> / proc / sys / vm / drop_caches” 通话需要几秒钟,然后立即dd速度达到正常水平。 当然,我可以每分钟都有一个cronjob或者这样的事情,但那不是一个真正的解决scheme。 http://i.stack.imgur.com/zIDRz.jpg http://i.stack.imgur.com/fO8NV.jpg 有没有人有解决scheme或configuration提示? 这里也是我的sysctl,但所有的值都是centos默认值: http : //i.stack.imgur.com/ZQBNG.jpg EDIT1 我做了另一个testing,而不是/ dev / null dd到磁盘。 这一次也在一个没有光伏的命令。 所以它只有一个过程。 […]