Augmenter le nombre de shards


(Vergerolle) #1

Bonjour,
Actuellement j'ai eleasticsearch qui tourne sur une seule machine avec 8cpu et 48 Go .
Au départ j'avais fait simple, pas de réplicat, et un seul shard.
Je voudrais ajouter deux autres machines à l'infra.Du coup quel est le moyen optimal de répartir les données. 2 ou 3 shards ou mieux
D'autres part, est-ce que je peux avoir les nouveaux index avec 3 shards par exemple et les anciens index avec 1.
Ou alors faut-il que tous les index aient 3 shards.
Merci d'avance
Cordialement
J C


(Charles-Henri Boust) #2

Bonjour,

Tu peux mixer comme il te plait les shards entre les index, en avoir 1 sur 1 index, et pour un autre index 4.
Ensuite, je ne me suis pas encore attardé sur le sujet mais la déclaration du nombre optimal de shard ne se fait pas spécialement au doigt mouillé, sans pour autant qu'il y ait une science exacte en la matière.
Personnellement j'ai testé avec 4 et 6 (avec 1 replica), sur 2 petits VM, j'ai eu l'impression que l'indexation était moins rapide, mais c'est juste une impression, rien de plus, n'ayant rien sous la main pour bencher (hormis fair manger +75000 logs à ELK :stuck_out_tongue:)


(Vergerolle) #3

Bonjour,

Merci beaucoup

Je vais commencer par 3 shards.


(Gabriel Tessier) #4

Bonjour,

Comme l'a dit C_H tu peux mixer. Pour moi (et d’après la doc) l'important c'est le nombre de documents que tu va mettre dans ton index.

Si tu veux un ordre d’idées de ma configuration:
J'ai plusieurs index (15) allant d'1 à 5 shards tous avec 1 replica, sur 2 serveurs 4 CPU et 16GB ram.

Mon plus gros index possède 5 shards et contient 3,650,565 documents.
J'en ai un autre avec 5 shards et 174,847 documents mais ces documents ont des relations parents/enfants.
Encore un autre avec 3 shards et 102,699 documents.

Après ça dépends des données et des requêtes que tu fais dessus pour l'instant avec cette configuration j'ai pas trop de problèmes et de bonnes performances.

"Sinon pour l'indexation avec un replica c'est plus lent": je ne retrouve plus le lien mais c'est écrit dans la documentation de désactiver la réplication quand on reindex (et le refresh).

En espérant que ça t'aide a faire ton choix.


(Vergerolle) #5

Bonjour,

Merci Gabriel pour ces infos complémentaires,
Cela m'éclaire un peu plus pour faire mon choix.


(system) #6