Migration 1.4 vers 2.2 régression des performances


(Alex Alexandre) #1

Bonjour,
Je ne sais pas trop si il y a des personnes qui ont constatés des problèmes de lenteurs en passant de la version 1.4 vers la 2.2. Mais ayant actuellement 2 clusters (le premier en ES 1.4 et l'autre en ES 2.2) de 3 machines avec 8proc chacunes et 24Go de RAM (12Go pour la JVM).
Le cluster de la 2.2 écrit du slowlog assez régulièrement de manière générale alors qu'en 1.4, nous n'avons aucun slowlog (la conf pour les slow est identique sur les 2 clusters, nous l'avons fixée à 500ms).
Mis à part ce problème, https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html révèle que "For count/search operations. Thread pool type is fixed with a size of int((# of available_processors * 3) / 2) + 1, queue_size of 1000." ce qui diminue considérablement le nombre de thread entre la 1.4 et la 2.2. Ce que l'on constate sur le cluster 2.2, c'est que le CPU des machines n'est pas utilisé mais que les requêtes search sont quasiment toutes rejected.
Y a t il des leviers, solutions, patchs prévus ?
Bien Cordialement,
Alex


(David Pilato) #2

En général, nous essayons de configurer les bonnes valeurs par défaut du cluster afin d'avoir un bon équilibre entre tous les threads suivant leur usage.

Il est néanmoins possible de modifier les valeurs en utilisant threadpool.search.size: xxx


(Alex) #3

Bonjour, nous travaillons ensemble avec "Alex_Alexandre". Nous avons forcé le "threadpool.search.size" à 27 pour être identique à l'ancien cluster en 1.4. Malheureusement, il n'y a pas de gain , nous avons un problème avec la "queue capacity ".

Caused by: EsRejectedExecutionException[rejected execution of org.elasticsearch.transport.TransportService$4@a6cdf98 on EsThreadPoolExecutor[search, queue capacity = 1000, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@71411d9e[Running, pool size = 27, active threads = 27, queued tasks = 1000, completed tasks = 1591]]]


(system) #4