Как отключить кеширование при тестировании Elastic Search

Я испытываю стресс-тестирование Elastic Search, отправляя запросы, но боюсь, что ответы кэшируются. Как отключить кеширование при тестировании Elastic Search?

Ответ 1

Прежде чем я отвечу, отказ от ответственности, который я согласен с комментариями по вопросу, отключение кэша не лучший способ стресс-теста Elasticsearch. Попадание в него одновременных запросов, представляющих ваш производственный набор запросов и активную индексацию в одно и то же время, будет гораздо лучшим способом увидеть, как ES реагирует при нагрузке.

Однако, чтобы ответить на ваш вопрос и указать некоторые предостережения:

  1. Вы можете очистить кэш между запусками:

    API очистки кеша позволяет очищать либо все кеши, либо определенные кэширование связано с одним или несколькими индексами.

    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 делает значительным использование кеша файловой системы нативной ОС, поэтому большая часть "кеширования" происходит вне контроля ES:

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