0

我的网站有以下请求流程-

AWS CloudFront -> ELB -> Varnish 4.0.3 -> NginX(反向代理)-> ELB -> Drupal7

工作:正常流程按预期工作。

问题:当我在我的站点上运行负载测试时,相同的请求多次到达 Drupal 服务器。例如,我的 jMeter 轰炸了对http://website/index.php的 500 次调用,大约 50% 的请求命中 Drupal 服务器。

期望:清漆应该持有所有相同的请求,直到第一次响应。

观察:清漆将所有相同的请求发送到后端,直到第一个请求的响应到来

如果有人实现了这样的功能,请分享

4

1 回答 1

0

这很奇怪,因为 Varnish 应该按照文档所说的那样保留这些请求: https ://www.varnish-cache.org/docs/4.0/users-guide/vcl-grace.html

也许到达后端的第一个请求最终以不可缓存的响应结束,得到“HIT-FOR-PASS”(后续相同的请求不会命中缓存,而是直接从后端获取)。

varnishlog 的输出是什么,您是否发送了防止缓存的特殊标头?

于 2016-10-21T12:23:59.117 回答