我正在做负载测试的应用程序,使用Vespa作为数据库。我有一些我正在做测试的样本记录。现在,当我第一次运行负载测试时,Vespa会缓存查询结果,这会影响我们下一个测试场景的结果。
有没有一种方法可以禁用缓存用于测试目的的查询结果,然后再次启用它。
我希望在第二次运行相同的查询后,从Vespa获得相同的响应时间。
尽管我已经在我们的Vespa应用程序的services.xml文件中实现了以下代码。第二次查询的响应时间发生了很大的变化。
<content id="content" version="1.0">
<engine>
<proton>
<tuning>
<searchnode>
<summary>
<store>
<cache>
<maxsize>0</maxsize>
<compression>
<type>none</type>
</compression>
</cache>
</store>
</summary>
</searchnode>
</tuning>
</proton>
</engine>
...
</content>发布于 2020-07-30 16:33:06
Vespa不缓存查询结果,并且在禁用摘要缓存的情况下根本没有缓存。
Vespa (像许多其他数据库一样)需要一段时间才能“预热”--这是由于Java代码的JIT编译、操作系统磁盘缓存、CPU指令/数据缓存等效果。您应该首先执行足够的查询,以使查询延迟达到稳定状态。
https://stackoverflow.com/questions/63168169
复制相似问题