如何知道从Web服务器收到的响应是否是缓存响应

时间:2014-03-17 10:57:06

标签: caching performance-testing

我正在使用Rest API来调用salesforce.com api。我正在进行负载测试和压力测试等。所以我对我的响应是否被缓存感到困扰。我收到了json格式的回复 另一个因素是我真的要担心我的响应在执行性能测试时被缓存了吗? 提前谢谢

1 个答案:

答案 0 :(得分:0)

最重要的是:在测试过程中是否会调用salesforce.com api?如果是这样,您是否与salesforce团队达成协议(或者他们可能提供特定的api进行负载测试)?如果你没有达成这样的协议,你应该制作一些salesforce api的存根并在测试期间使用它,因为你的测试可能会在salesforce方面造成问题,或者(更有可能)你会被禁止。

缓存您的应用/网站的响应通常是不受欢迎的,因为在负载测试中,您通常会对最坏情况感兴趣。或者,对于您将获得的缓存答案,您可以相应地调整测试。

大多数http服务器和代理都了解标题
Cache-control: no-cache
Pragma: no-cache
检查它是否有效的唯一一般方法是检查后端服务器日志。或缓存服务器日志,如果来自缓存的缓冲区以某种方式标记。

根据您使用的缓存解决方案,可以通过其他方式标记缓存的响应,即在nginx中您可以添加标题:

X-Cache: $upstream_cache_status

详见http://wiki.nginx.org/HttpUpstreamModule#.24upstream_cache_status