0
我使用Gatling测试的响应具有以下标题,其中包括一个2分钟的Cache-Control
标题。Gatling处理缓存控制标题
Accept-Ranges: bytes
Cache-Control: max-age=120, public
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 17975
Content-Type: application/json;charset=UTF-8
Date: Tue, 06 Oct 2015 00:21:43 GMT
ETag: "0be271f09dc4c9a0ddea9e4b5899b59b4"
Expires: Tue, 06 Oct 2015 00:23:42 GMT
P3P: CP="CAO DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAi IVDi CONi OUR SAMo OTRo BUS PHY ONL UNI PUR COM NAV INT DEM CNT STA PRE"
Vary: Accept-Encoding
X-Application-Context: application:prod
当使用像这样的基本模拟时,尽管在varnish服务器后面,我仍然可以轻易地淹没服务器。默认情况下包括缓存拦截器在内的Gatling?
constantUsersPerSec(500) during(1 minute)
感谢您的回复。 RFC提到max-age优先:“如果响应同时包含Expires头和Max-age指令,则即使Expires头更具限制性,max-age指令也会覆盖Expires头。”我希望每个用户都拥有自己的缓存,但我也希望Varnish服务器始终提供缓存副本,因为它已被指示缓存内容2分钟。 – Steve
对不起。加特林适当地给予最大年龄更高的优先权到期。修复我的答案。 –
如果你的资源确实被缓存了,我也会期待一个s-maxage属性。你确定你的清漆配置? –