我试图通过设置适当的caching标题来提高我所服务的某些网站的速度。 我已经阅读了一些教程,当在服务器上生成它们时,让资产的URI反映它们的新鲜感并不是一个坏主意。 例如,我可能将main.js作为main.js ,其中<md5>被main.js文件的校验和replace。 我可以看到为什么这是有益的:当Cache-control的max-age参数被设置为将来的一个date时,这个资源在caching它的浏览器/代理的眼中总是保持“新鲜”。 每当需要一个新的资源时,它只是有另一个md5总和,因此会出现一个新的资源。 这比使用ETag更有效,因为不需要服务器检查资产是否已经改变,它的URI是显式的。 因为我试图自己设置一个代理caching内存的代理,但是我想知道:这个scheme是不是意味着浏览器/代理的沉重负担,因为它们会caching所有版本的资产(因为它们认为他们是不同的资产,因为他们有不同的URI)。 这是一个负责任的事情吗? 或者我会溢出代理/浏览器。 在处理具有大量可caching资源的服务时(如分配指定数量的空间并丢弃每个主机的LRU / LFUcaching条目),有没有某种定义的行为代理?
我们最近开始通过共享replaceAD组的命名权限(也就是说,当更新权限时,我们不必担心在处理拥有大量文件的共享时更新所有子对象所需的时间或风险) 。 更改其中一个共享时,新的权限生效,但其中一台服务器(其计算机帐户是AD组的成员)收到了一些访问被拒绝的错误。 这似乎是因为服务器帐户的组成员身份被caching(即何时计算机caching文件权限? )。 此问题已通过重新启动解决。 问题:有没有办法强制帐户(计算机或用户)重新authentication,而不必注销并重新启动? 也就是说,当发生这样的问题时,我们可以做一些refresh-authToken -computername MyServer $“调用,而不需要停机。
我最近在用于文件夹redirect的新服务器上为我们的一部分用户设置了新的文件共享。 我在上个星期对这些文件进行了复制,实施了这项政策,取代了旧的政策,经过了一些用户的testing,一切都很顺利。 本周,我听说有些用户遇到错误,他们无法连接到\ oldserver \ users $ \ jsmith \ desktop,其中文件夹redirect应该指向\ newserver \ users $ \ jsmith \ desktop 我试图清除每台机器上的C:\ ProgramData \ Application Data \ Microsoft \ Group Policy \ History,但是我们是一所大学,用户和计算机的数量相当大。 不幸的是,即使这样做,我听说这个问题一直存在于一个电脑室。 我甚至有人今天早上重新启动了所有机器,认为重启会强制刷新策略。 gpupdate /力似乎解决了这个问题,所以它似乎是一个陈旧的cachingGPO。 所以 – 我的问题是这些: 默认情况下,组策略caching多久? 这个设置在哪里? 我怎样才能解决这个问题,而不告诉我的用户运行gpupdate / force? 它需要在login时工作,而不需要采取措施,然后退出/返回(当然最好!) gpupdate / force似乎只更新login用户的策略( https://technet.microsoft.com/en-us/library/jj134201.aspx )。 即使我这样做,这是否意味着我需要赶上它在行为失败? (脱机文件被禁用,不幸的是,这是唯一的cachingtypes: https : //technet.microsoft.com/en-us/library/cc739647(v=ws.10 ) […]
我正在寻找一个HTTP反向代理,将以高性能的方式处理HTTP实时stream媒体用例。 假设文件/碎片大小高达4MB,同一文件的客户请求的持续负载非常接近(请求到达,而后端满足第一个请求)。 CDN服务将不会在这里使用。 在下面的每个Nginx和Varnish的事件中发生了什么(请插入你认为更合适的另一个解决scheme)? 客户端1请求反向代理(proxy_cache或Varnish),文件不被高速caching(MISS)。 代理向后端发出请求,并尝试填充本地caching并将响应传递给Client1 当Client1的请求正在被服务(在代理完成之前)时,其他客户对同一个文件的并发请求。 目标是: 代理将在从后端检索文件时阻止其他请求。 代理将在数据到达时同时为所有正在等待的客户端提供服务(当数据到达时,不是在整个文件被缓冲后)。 对于特定的文件,在任何给定时间只有一个后端请求会被创build。 所有的客户端都应该由来自后端的共享响应来提供服务。 例外情况是,如果客户端针对不同的范围进行HTTP范围请求。 哪种解决scheme最适合在像这样要求更大的文件? 如果有任何关键的configuration设置,以达到预期的效果,请分享。 谢谢!
我的Ubuntu Linux(虚拟)服务器每天运行rdiff-backup,它会查看所有文件元数据以确定需要备份的内容,从而减慢速度。 它每天都这样做,尽pipe大多数文件不会改变。 我想将这些数据保存在caching中。 为此,我一直在试验/proc/sys/vm/vfs_cache_pressure ,目前设置为20。 例如,一个虚拟服务器有35%的inode正在使用中: 这相当于1057350.Inode大小是256.这是否意味着我需要(1057350 * 256)= 258 MB? 编辑:显然不是,见下文。 而对于dentries? 这个服务器有225510个dirs,其中大部分是4k大的。 这是否意味着我需要225510 * 4096 = 880 MB的caching? 这是否意味着当我将vfs_cache_pressure设置为1并且具有2 GB的可用内存时,它将保留所有元数据caching? 我怎样才能看到我目前的caching是如何使用的; 什么是元数据和什么是数据? 编辑:我刚刚find了slabtop工具。 最上面的几行是: OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME 1656144 1655632 99% 0.19K 78864 21 315456K dentry 1207269 1207269 100% 0.76K 57489 21 919824K ext3_inode_cache 246909 246909 […]
我使用Squid3在Raspberry Pi上设置了一个透明的caching代理。 一切似乎都工作正常,Squid正在caching一切应该和完美的工作。 cache.log填充了这个: IpIntercept.cc(137) NetfilterInterception: NF getsockopt(SO_ORIGINAL_DST) failed on FD 17: (92) Protocol not available 我不知道为什么在那里,什么是错的,因为caching工作正常,但它堵塞了我的日志文件。
我突然被谷歌的图像代理服务器的请求淹没,看起来像下面这样: 66.249.81.250 – – [04/May/2015:06:55:54 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)" 66.249.93.170 – – [04/May/2015:06:56:31 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)" 66.249.93.170 – – [04/May/2015:06:56:31 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 […]
我正在使用带有Intel Xeon E3-1230,32GB RAM DDR3,2 x 480 GB SSD SATA3,2 x 1 Gbitnetworking连接的戴尔PowerEdge R210 II服务器。 我正在同时使用两个networking连接(802.3ad bond)。 问题是…我使用rTorrent(0.9.4 / 0.13.4)和Debian 7获得了糟糕的IO性能。首先,下载速度超过200 MB / s,然后当IO负载达到100%时,速度变慢稳定在120-130MB / s左右。 SSD几乎是新的。 我已经testing了它们,并且在读/写上都达到〜500MB / s。 修剪被激活,所有的卷被格式化为ext4。 我使用截止date作为I / O调度程序(从我的testing来看,这似乎是我的情况最好的)。 networking连接正常工作。 我在FTP传输上达到了〜200 MB / s的恒定速度。 这是我目前的/etc/sysctl.conf: net.ipv4.tcp_reordering=127 net.core.netdev_max_backlog = 30000 net.core.rmem_max = 67108864 net.core.wmem_max = 67108864 net.ipv4.tcp_rmem = 4096 87380 33554432 […]
用下面的方法挣扎一下。 为JS和CSS添加过期,加上其他静态文件很容易: # Directives to send expires headers. location ~* \.(?:css|js)$ { expires 28d; access_log off; add_header Cache-Control "public"; } 但是对于我喜欢的url,我不太清楚。 重写的URL如下所示: www.domain.tld/post-name 所以没有像.html或.php这样的扩展名,而主页只是一个/注意我的主页是静态的,没有最新的新闻/博客文章等,所以我也希望这个caching在浏览器中。 将过期添加到此位置块不会将浏览器caching添加到主页: location / { try_files $uri $uri/ /index.php?$args; expires 1d; } 在php文件位置添加过期(重写之前)也不起作用,Nginx似乎想要确切的请求的URI。 我已经看到了这个build议,但是对使用太多的if语句表示谨慎: location / { if (-f $request_filename) { expires 30d; break; } } 什么是最好的方法来确保这样一个简单的5页面网站获取所有的页面浏览器caching? 理想情况下不需要对url进行硬编码。 www.domain.tld / www.domain.tld / […]
我正在运行亚马逊EC2的VPC,通常使用Centos,我没有问题,但我已经尝试红帽企业Linux服务器版本7.1,我已经从头安装一切。 我正在使用Symfony 2.7.5,我真的很苦恼与caching。 Web应用程序接缝无法访问caching文件夹(应用程序/caching) RuntimeException in bootstrap.php.cache line 2671: Unable to create the cache directory (/var/www/mysite/app/cache/dev) 我已经研究了很多,并尝试所有,改变所有权,充分访问文件夹caching… chown -R root:apache app/cache chown -R root:apache app/logs chmod -R 777 app/cache chmod -R 777 app/logs sudo setfacl -R -mu:apache:rwX -mu:ec2-user:rwX app/cache app/logs sudo setfacl -dR -mu:apache:rwx -mu:ec2-user:rwx app/cache app/logs 在命令行我可以使用PHP应用程序/控制台caching:清除 ,它的工作原理。 我不知道这个Symfony的版本或其某种configuration问题是否有问题。 谢谢您的帮助。