# Activation du query cache

**URL:** <https://discuss.elastic.co/t/activation-du-query-cache/36144>\
**Category:** Discussions en français\
**Created:** [December 2, 2015, 10:23am UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144 "2015-12-02T10:23:05Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)\
**Post date:** [December 2, 2015, 10:23am UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/1 "2015-12-02T10:23:05Z")

</div>

Bonjour,

Sur une 1.7, je cherche à vérifier que le query cache est bien activé. Pour celà je regarde via cette url [http://localhost:9200/\_nodes/stats/indices/query\_cache?pretty&human](http://localhost:9200/_nodes/stats/indices/query_cache?pretty&human) que les "query\_cache" bougent :

```
    {
      "memory_size" : "0b",
      "memory_size_in_bytes" : 0,
      "evictions" : 0,
      "hit_count" : 0,
      "miss_count" : 0
    }

```

La requête que j'utilise pour mon test (elle est débile mais c'est une requête pour essayer de vérifier que le cache est utilisé) est :

```auto
{
  "query": {
    "filtered": {
      "query": {
        "multi_match": {
          "query": "hotel",
          "fields": [
            "text"
          ]
        }
      },
      "filter": {
        "term": {
          "text": "hotel"
        }
      }
    }
  }
}

```

Or les chiffres que j'observent restent tous à 0.

Je ne comprends pas, soit je regarde les mauvais indicateurs, soit la requête telle qu'elle n'est pas cachée, soit il ma manque un élément dans ma conf.

Qu'en pensez vous ?

Merci d'avance,  
Blured.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [December 2, 2015, 10:48am UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/2 "2015-12-02T10:48:13Z")

</div>

Regarde plutôt du côté de `GET _nodes/stats/indices/filter_cache`

Seul le filtre est caché (tout ce qui n'est pas full text search en fait).

---

<div class="post-metadata">

**Author:** ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)\
**Post date:** [December 2, 2015, 12:47pm UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/3 "2015-12-02T12:47:32Z")

</div>

Merci.  
Et savez-vosu comment est il possible de connaitre les hit et miss de cache ?

Les indicateurs disponibles via cette url : [http://localhost:9200/\_nodes/stats/indices/query\_cache?pretty&human](http://localhost:9200/_nodes/stats/indices/query_cache?pretty&human)

devraient remplis via quels types de requêtes ?

Blured.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [December 2, 2015, 1:11pm UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/4 "2015-12-02T13:11:07Z")

</div>

Je pense que c'est ça [https://www.elastic.co/guide/en/elasticsearch/reference/current/shard-request-cache.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/shard-request-cache.html)

Non actif par défaut.

---

<div class="post-metadata">

**Author:** ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)\
**Post date:** [December 2, 2015, 1:28pm UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/5 "2015-12-02T13:28:50Z")

</div>

Même en passant les index.requests.cache.enable à true, il y a toujours 0 hits des caches. Idem si je regarde dans Marvel.

curl -XPUT localhost:9200/my\_index/\_settings -d'  
{ "index.requests.cache.enable": true }  
'

Je relance plein de fois mes query mais tout est à 0.

Vraiement bizarre.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [December 2, 2015, 1:42pm UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/6 "2015-12-02T13:42:47Z")

</div>

Mouais.

Entre nous pourquoi tu veux activer ça ?

---

<div class="post-metadata">

**Author:** ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)\
**Post date:** [December 2, 2015, 1:47pm UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/7 "2015-12-02T13:47:12Z")

</div>

ba pour avoir le maximum de vitesse possible en terme de temps de réponse. Je plafonne à 3600 requêtes Elastic par secondes pour 5 noeud. C'est déjà beaucoup mais dans mon archi j'ai 1 requête http (= 1 recherche) qui génère une 20 aines de requêtes ELS unitaires. Je les déclenche via une multiSearchQuery. Je suis en train d'expérimenter dans quelle mesure des caches pourraient être activable pour permettre de gagner encore plus (si c'est possible).

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [December 2, 2015, 3:23pm UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/8 "2015-12-02T15:23:58Z")

</div>

Peut-être qu'il vaudrait mieux d'abord optimiser les requêtes avant de penser à changer des settings ? 😃

En général, au niveau cache, les fichiers Lucene sont mis en cache OS. Donc, reste le coût de "calcul" à assumer vs. avoir ça en cache.

Quelle version de ES / JVM as-tu ?

---

<div class="post-metadata">

**Author:** ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)\
**Post date:** [December 2, 2015, 3:25pm UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/9 "2015-12-02T15:25:55Z")

</div>

Je suis en ES 1.7 sur du FreeBsd 10.2-RELEASE-p7 avec de l'OpenJDK 1.7  
(  
openjdk version "1.7.0\_80"  
OpenJDK Runtime Environment (build 1.7.0\_80-b15)  
OpenJDK 64-Bit Server VM (build 24.80-b11, mixed mode)  
)

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [December 2, 2015, 3:27pm UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/10 "2015-12-02T15:27:55Z")

</div>

Déjà, upgrade Java 8 Oracle et regarde la différence. Je pense que tu devrais avoir quelques gains.

Ensuite passer en version 2 d'elasticsearch aidera. Avec sa gestion du cache automatique, ça devrait beaucoup aider à améliorer les choses...

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:50pm UTC](https://discuss.elastic.co/t/activation-du-query-cache/36144/11 "2017-07-06T13:50:24Z")

</div>


