问题标签 [varnish]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Varnishd 是与 Rails 一起使用的正确缓存解决方案吗?
我想在我们的 Web 应用程序(数千个页面)上缓存由 Rails 堆栈呈现的完整页面,但不要经常更改。就资源而言,每次渲染都非常昂贵。
我对 Varnishd 工作原理的理解是,当对 URL 进行初始调用时,Varnishd 将检查其缓存存储,会发生未命中,因此请求将传递给 Rails,然后将生成的结果页面添加到Varnishd 缓存。
对该 URL 进行的任何后续调用,然后从 Varnishd 缓存中提供服务,都不涉及 Rails 堆栈。
这是正确的还是我离题了?
我的应用程序如何在特定页面更新时告诉 Varnishd 并反映其缓存存储中所做的任何更改?
Varnishd 是一个很好的选择吗?
感谢您的帮助-我知道这些是非常基本的问题,但是文档并没有说清楚(至少对我而言)。
drupal - Pressflow 5 和清漆
我们目前正在运行一个站点:
Pressflow 5.23.50
Varnish 2.1.4
我怀疑我遇到的一些问题是基于各种各样的文档,其中一些是最新的,而另一些不是。
目前我得到这些响应标头:
Varnish 配置:
我们正在使用全局重定向模块,并且我已经包含了我在网上找到的适当检查。
我还将它添加到 settings.php 的底部:
我还在性能页面上将 Drupal 设置为“积极缓存”。
是否有一些我遗漏的小东西,或者有人可以指出我在其他事情上尝试的方向?
regex - POSIX 和 PCRE 之间的正则表达式语法更改
我们目前正在升级我们的 Varnish Cache 服务器。作为该过程的一部分,我们只升级了其中一个,以查看它与旧版本相比的表现。
在这个新版本中所做的一些主要更改是将正则表达式引擎从 POSIX 更改为 PCRE。这意味着我们的一些清除(正则表达式清除)已停止在较新的服务器上运行。
我想知道是否有人可以列出/指向我的 POSIX 和 PCRE 之间的实际语法差异列表。或者可能是一个将 POSIX 正则表达式转换为 PCRE 正则表达式的函数。
这样我就可以只将清除转换到较新的服务器 - 而不会影响系统中为其他服务器实现的当前正则表达式语法。
caching - 是否可以在 Varnish 中进行甜甜圈缓存?
我是一名 ASP.NET 开发人员,试图了解更多关于如何在开源堆栈上完成缓存的知识。我想知道是否可以像使用 ASP.NET MVC一样在 Varnish 上进行甜甜圈缓存。
我意识到 Varnish 是一个分布式缓存系统,而 ASP.NET MVC 示例是本地缓存,但是是否可以在 Varnish 中实现这种行为?
glassfish - Glassfish v3 缓存和 Varnish 缓存
我正在寻找加速我的网站的方法,其中一次包含相当数量的小图像(所以我的网站主要进行 IO 读取)。我使用 glassfish v3。在 GF v3 中,我指定 glassfish 来缓存静态资源。只使用GF缓存就足够了吗?清漆缓存会比 GF 缓存有显着改进吗?GF 与清漆搭配效果好吗?
php - 频繁使用网站的缓存策略
我们正在为一个频繁使用的网站设计缓存策略。该网站由动态和静态内容的混合组成。前端是PHP,中间层是Tomcat,后面是mysql。
仅通过 HTTPS 完成用户登录屏幕以保护凭据。之后,所有内容都通过纯 HTTP 提供。一些屏幕是特定于客户的(比如说他的最后一个订单),而其他屏幕对每个人都是通用的(最流行的产品、促销、规则等)。
鉴于预期的流量,很明显我们需要一个全面的缓存策略。所以我们正在考虑以下选项:
- 将 Squid 或 Varnish 放在 PHP 前面,并配置它来缓存所有公共内容,甚至是客户的订单提交表单。
- 使用 PHP 的 memcached 缓存页面片段(如最流行的产品)
- 在中间层/tomcats 中实现缓存(即在将内容返回到 Web 服务器之前,尝试从本地缓存中获取它,例如 ehcache)
- 使用诸如 Zend Cache 之类的 PHP 级缓存并将页面片段存储在那里。这与我提到的第二个选项很接近,但它内置在 Zend 框架中。
我们可能会使用这些策略的组合。
所以问题是是否值得像 Varnish 一样添加前端缓存,还是只在里面使用 Zend Cache?
我忘记提及的另一个选项是使用 PHP 级别的缓存,例如 Zend Cache,并在那里存储页面的片段。这与我提到的第二个选项很接近,但它内置在 Zend 框架中。
所以问题是是否值得像 Varnish 一样添加前端缓存,还是只在里面使用 Zend Cache?
再次感谢,Philopator。
drupal - 什么是 drupal(Boost、xcache 或 varnish)的最佳缓存器?
考虑到登录用户和匿名用户,Drupal 的最佳缓存方法(缓存器)是什么?是 Boost、XCache 还是 Varnish?我需要他们之间的比较。
django - 帮我配置 nginx-varnish-uwsgi-django
我正在使用 nginx-uwsgi 部署我的 django 应用程序,我想将 Varnish 添加到这个堆栈中。据我所知,Varnish 只能缓存 ip 和端口。但是我的堆栈是这样配置的:
所以我的 nginx 与 uwsgi 的套接字一起工作。不是ip和端口。但是 Varnish 需要 ip 和 port。像这样:
我应该更改 uwsgi 以使用 ip 和端口运行吗?还是有一些方法可以配置 Varnish 以与 uwsgi 的 sock 一起使用?或者如何知道这个套接字的 ip 和端口?
顺便说一句,我用这个命令启动 uwsgi:
我应该使用 -s 127.0.0.1:3031 而不是 --socket /home/mechanism/SERVER/run/MechanisM.sock 吗?
php - 让 Varnish 在 Magento 上工作
首先请原谅我对 Varnish 完全缺乏了解。这是我第一次尝试用 Varnish 做任何事情。
我在以下示例:http ://www.kalenyuk.com.ua/magento-performance-optimization-with-varnish-cache-47.html
但是,当我安装并运行它时,Varnish 似乎没有缓存。我确实得到了带有单个数字的 X-Varnish 标头和一个值为 1.1 varnish 的 Via 标头
我被告知(我的 ISP)这是因为 Magento 设置了以下 cookie:
Set-Cookie: frontend=6t2d2q73rv9s1kddu8ehh8hvl6; expires=Thu, 17-Feb-2011 14:29:19 GMT; path=/; domain=XX.X.XX.XX; httponly
他们说我要么必须更改 Magento 来处理这个问题,要么配置 Varnish 来处理这个问题。由于更改 Magento 是不可能的,我想知道是否有人可以给我一个线索,告诉我如何配置 Varnish 来处理这个 cookie?
php - 使用 session_start() 时清漆缓存不缓存 PHP 页面
我是第一次使用 Varnish Cache,并且没有任何乐趣让它按我的意愿工作。
我的问题似乎很简单。
我只希望 .php 页面被缓存。
到目前为止,每个 .php 请求总是通过清漆缓存并访问我的 apache Web 服务器。
问题在于 cookie 和对 session_start() 的调用;
无 session_start() = 缓存 使用 session_start() = 无缓存
现在文档很简单,可以理解,但我尝试过并没有成功。一旦我添加对 session_start() 的调用 = 不再缓存。
这是带有 PHP 的示例 HTML:
这是我非常干净简单的清漆 default.vcl
这应该从客户端和服务器取消设置 Cookie,并且确实这样做了。在 FireFox 中使用 FireBug 进行调试时,当我使用此 default.vcl 时,我可以看到 Set-Cookie 和 Cookie HTTP 标头不存在
以下是来自 FireFox 的 HTTP 标头:
响应标头:
我只是看不出我哪里错了。我已经修补了 2 个小时,在 .vcl 配置文件中添加/更改和删除行和变体。
任何人都可以提供任何建议吗?
非常感谢。