elasticsearch - 测试 Elastic Search 时如何关闭缓存

标签 elasticsearch

我正在通过发送查询来对 Elastic Search 进行压力测试,但担心响应会被缓存。测试 Elastic Search 时如何关闭缓存?

最佳答案

在我回答之前,我同意对问题的评论的免责声明,禁用缓存并不是对 Elasticsearch 进行压力测试的最佳方式。同时使用代表您的生产查询集的查询和事件索引来命中它,将是查看 ES 在负载下如何响应的更好方法。

但是,要回答您的问题并指出一些注意事项:

  1. 您可以在两次运行之间清除缓存:

    The clear cache API allows to clear either all caches or specific cached associated with one ore more indices.

    https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clearcache.html

  2. 您可以通过设置关闭过滤器缓存 index.cache.filter.type 为 none - 这将阻止过滤结果 从被缓存:

    http://elasticsearch-users.115913.n3.nabble.com/Disable-cache-td3825105.html

    http://elasticsearch-users.115913.n3.nabble.com/Disabling-cache-td3201850.html

  3. 您可以更改字段数据缓存的设置 - 但是我 不知道如果将其设置为零会发生什么:

    https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-fielddata.html

  4. 不过,总的来说,请记住 Elasticsearch 非常重要 使用 native 操作系统文件系统缓存,所以很多“缓存”是 发生在 ES 的控制之外:

    https://blog.codecentric.de/en/2014/05/elasticsearch-indexing-performance-cheatsheet/

关于elasticsearch - 测试 Elastic Search 时如何关闭缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25212911/

相关文章:

geolocation - ElasticSearch——使用距点的距离影响查询相关性

elasticsearch - 安装了mapper-size插件并将其添加到索引映射,但索引中没有显示_size字段

elasticsearch - 在一组关键字中过滤关键字

java - 与Java 8并行流相比,Spring Batch的任何性能改进均可以处理大量数据

elasticsearch - 巢状更新索引设定

elasticsearch - 我应该在elasticsearch的单台机器上使用分片/复制吗?

date - 如何使用Elasticsearch从当前时间减去日期?

elasticsearch - 如何在ElasticSearch中的数组中搜索单独的键和值字段?

elasticsearch - Elasticsearch 中的得分不一致

javascript - 如何在elasticsearch中插入对象数组