vespa - 在 vespa 中禁用缓存

标签 vespa

我正在对使用 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>

最佳答案

Vespa 不缓存查询结果,并且在禁用摘要缓存的情况下根本没有缓存。
Vespa(像许多其他数据库一样)需要一段时间来“预热” - 由于 Java 代码的 JIT 编译、操作系统磁盘缓存、CPU 指令/数据缓存等影响。您应该首先执行足够多的查询,以使查询延迟达到稳定状态。

关于vespa - 在 vespa 中禁用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63168169/

相关文章:

vespa - ES "minimum_should_match"查询如何转换为 vespa 查询?

embedding - 仅使用 vespa 作为矢量数据库而不是嵌入器

vespa - 在 Vespa.ai 中按分区查询

vespa - 在非英语版本中保留 Vespa 中的词序

vespa - 我们可以在 vespa.ai 中创建多少个最大搜索定义?

vespa - 从 Vespa 大规模检索文档

vespa - 电子商务和 Vespa : filtering customer's wishlist

docker - 命令在 docker 容器内工作,但在 docker exec 下失败

pytorch - 如何在来自 PyTorch 的 ONNX 中包含 OneHot

docker - 在单独的容器中为配置服务器和服务运行 vespa