我的网站有以下请求流程 -
AWS CloudFront - > ELB - >清漆4.0.3 - > NginX(反向代理) - > ELB - > Drupal7
正常工作:正常流量按预期工作。
问题:当我在我的网站上运行负载测试时,Drupal服务器会多次发出相同的请求。例如我的jMeter轰炸了500次对http://website/index.php的调用,~50%的请求击中了Drupal服务器。
期望:Varnish应该保留所有相同的请求,直到第一次回复。
观察:将所有相同的请求发送到后端,直到第一个请求的响应出现
如果有人实施了此类功能,请分享
答案 0 :(得分:0)
这很奇怪,因为Varnish应按照文档说的那样持有这些请求: https://www.varnish-cache.org/docs/4.0/users-guide/vcl-grace.html
也许第一个发送到后端的请求最终会在一个不可缓存的响应中获得“HIT-FOR-PASS”(后续相同的请求不会到达缓存,而是直接从后端获取)。
varnishlog的输出是什么,您是否发送了阻止缓存的特殊标头?