Articles of caching

Centos正在使用所有的内存caching,而不是放弃

total used free shared buffers cached Mem: 1024 1020 3 0 0 859 -/+ buffers/cache: 160 863 随着863“免费”的程序,一切都得到了内存的问题。 所有的网页都有 Warning: Unknown: Unable to allocate memory for pool. in Unknown on line 0 我怎样才能知道在地狱里吃了859mb的内存,并释放它? 我用php-fpm和mysql使用nginx。

清漆:发送“If-None-Match”-Header到后端?

我想直接在我的应用程序中使用etagcaching/validation我的应用程序中的eTag。 如何将“If-None-Match”标题路由到后端? 看起来,Varnish默认情况下是删除这个标题。

configurationvarnish和django(apache / modwsgi)

我正在努力解决为什么我的应用程序不断打到数据库,而我已经build立了Apache的清漆面前。 我想我缺less一些重要的configuration,欢迎提供任何提示 这是我的卷发结果: HTTP/1.1 200 OK Server: Apache/2.2.16 (Debian) Content-Language: en-us Vary: Accept,Accept-Encoding,Accept-Language,Cookie Cache-Control: s-maxage=60, no-transform, max-age=60 Content-Type: application/json; charset=utf-8 Date: Sat, 15 Sep 2012 08:19:17 GMT Connection: keep-alive 我的清漆: 13 BackendClose – apache 13 BackendOpen b apache 127.0.0.1 47665 127.0.0.1 8000 13 TxRequest b GET 13 TxURL b /api/v1/events/?format=json 13 TxProtocol b HTTP/1.1 13 […]

如果响应包含Vary Accept-Language,则使nginx避免caching

nginx版本1.1.19的caching模块不考虑Vary报头。 这意味着即使Vary头中指定的某个字段的内容发生了Vary ,nginx也会提供相同的请求。 在我的情况下,我只关心Accept-Language标题,所有其他人已经照顾。 我怎样才能使nginxcaching一切, 但有一个Vary头包含Accept-Language响应? 我想我应该有这样的东西 location / { proxy_cache cache; proxy_cache_valid 10m; proxy_cache_valid 404 1m; if ($some_header ~ "Accept-Language") { # WHAT IS THE HEADER TO USE? set $contains_accept_language # HOW SHOULD THIS VARIABLE BE SET? } proxy_no_cache $contains_accept_language proxy_http_version 1.1; proxy_pass http://localhost:8001; } 但我不知道“从后端接收到的Vary头”的variables名称是什么。

哪个caching系统使用mpm_worker和mod_fcgid?

我打算使用基于mpm_worker和mod_fcgid的Apache服务器的APC,但是我发现APC和xCache不能与mod_fcgid一起使用。 所以你有什么build议?

Nginxcaching反向代理:如何保持应用程序服务器在caching过期5秒窗口期间活着?

我有一个nginx服务器,坐在运行django的apache前面。 我的网站大部分是静态内容: http : //www.grovemade.com/ 我的应用程序服务器可以处理需要dynamic的部分(POST,购物车,订单状态,常见问题等)。 绝大多数命中是静态页面,如产品页面,关于页面,ajax获取请求。 它像一个冠军直接从memcached处理页面。 其实我问过SF在这里确定我的瓶颈: 这是否certificate了networking带宽瓶颈? 而且受到我的主机出站stream量限制。 因此对于我需要的任何东西都是100%的能力。 因为这些数字我都很兴奋; 但是这些数字并不意味着当40页纸被轰炸时,嘿,让我成为一个新的caching! “嘿,我也是!” 唯一的问题是,在stream量大的时候,第二个caching过期了一个特定的页面,我的应用程序服务器遇到了数以千计的请求,这使得所有的东西都陷入了/可能导致服务器崩溃。 我想象的更像是… 答:应用程序服务器按照自己的步调自动将内容推送到memcached(因为它肯定可以填充caching……只有几百个同时进行)。 前端服务器使用它所具有的function – 从不尝试代理获取请求。 地狱,它可以为我所关心的所有人留下一个空白的页面。 至less应用程序服务器将是活着的,接受订单,并能够在未来的某个时刻填充那个破损的页面,而不是一个向下的死亡螺旋,我甚至无法拿起我的盾(memcached)。 问题是:我不得不build立一个系统,确定应该从多个地方caching的每个页面。 Django知道要caching哪些页面; 我想这很容易。 但是nginx – > django:我不希望它代理一切(否则我会处于相同的情况); 所以我必须在一个单独的位置编写更多的逻辑。 咩。 B:Nginx可以限制与应用服务器的连接。 但是,它将如何区分应用程序服务器排队的请求和我只希望它build立单个连接的types? 毕竟,应用程序决定是否应该caching页面。 如果它正在我的应用程序服务器上等待简单的dynamic内容(如提取订单详细信息),我不希望它删除连接。 在caching/应用程序之间build立一个请求响应循环,通知需要build立一个页面? 而后来的请求应该被忽略? 等等。 所以,考虑到99%的stream量是由nginx来满足的,而我的应用服务器真的只是X%谁转换并使其成为一个dynamic页面有趣,我应该怎么做,以防止我的应用服务器在几秒钟内完全淹没它响应的地方: 嘿,你! 让我为你回到这个页面。 还有1000多人想要吗? 好吧,我会这样做,如果我可以的话。 现实世界的问题/例子:今天,我们得到了巨大的命中。 我们通常不会获得很多stream量,但是我们今天发布了我们的产品,预购客户就像疯了似的。 服务器现在正在处理stream量@ 20%的容量,但是有一些非常非常粗略的时间,当我试图生成一个小时caching定时器过期时每个人都点击的小块页面时,我几乎失去了它。 我疯狂地select了最重要的caching页面,并试图将它们保存在caching中。 那是/不是/乐趣! 我也手动拉动从8080上运行的Apache的HTML,并把它们放到memcached。 如果我的apache进程内存不足,完全崩溃说memcached或花了足够长的时间,以至于过期的密钥,会有一个点… …“难以回报”,在那么多的人会绕过caching,我的服务器会比平常更加重载/因此如果不阻止所有请求并开始手动填充高速caching,通常是不可恢复的。 通常做什么来完成这项工作? 对不起,这是一种思路。 […]

可以鱿鱼从HTTPS网站caching对象?

我们在我们的Linux网关服务器上安装了鱿鱼3。 我们已经启用了caching。 它可以caching来自https站点的对象吗?

PHP-APC经常超出apc.shm_size的限制

我正在一个共享服务器上实现apc,目前有1000个站点(使用wordpress,moodle等)。 我正在寻找pipe理页面,我看到“caching全数”正在迅速增长。 我试图增加“apc.shm_size”减less值“apc.ttl”增加值“apc.shm_segments”的值,但我无法解决此问题。 我究竟做错了什么? 我正在放下一些信息: apc.ini: 延长= apc.so apc.shm_size = 256 apc.enabled = 1 apc.ttl = 300 apc.user_ttl = 300 Ubuntu :12.04 PHP :5.3.10 APC :3.1.7 服务器有16GB内存 限制共享内存:256MB 达到100%时,有没有可能不清除caching?

如何在Windows Server 2003中查看脏页数

有没有办法在Windows Server 2003中查看脏页面(需要仍然写入磁盘的caching文件页面)的数量? 在Windows 7中,例如,我可以使用性能监视器并使用“脏页”计数器(其中一个caching计数器)。 这个计数器似乎没有在Server 2003中可用。同样在Windows 7(和其他后来的系统)上,我可以使用Sysinternals RAMMap并逐个文件地有效地看到脏页面。 Server 2003有类似的东西吗?

我怎样才能让Nginx告诉Firefoxcaching我的内容?

以下标题(来自静态媒体响应)不会导致在Firefox中进行caching。 在Chrome中他们这样做。 HTTP/1.1 200 OK Server: nginx Date: Sat, 22 Dec 2012 21:20:39 GMT Content-Type: application/x-javascript; charset=utf-8 Last-Modified: Fri, 21 Dec 2012 19:28:54 GMT Transfer-Encoding: chunked Connection: keep-alive Cache-Control: public, max-age=86400 Content-Encoding: gzip 我的Nginx服务器的静态内容如下所示: server { listen 80; server_name static.example.com; # Logs access_log /var/log/nginx/static.example.com.access.log; error_log /var/log/nginx/static.example.com.error.log; # Root location / { alias /var/www/app/deps/current/repo/src/example/static/; add_header Cache-Control […]