Dans notre projet, nous utilisons actuellement (toujours) Apache Ignite 2.81. Nous sommes actuellement confrontés à des MOO sur des nœuds de serveur lorsque plusieurs clients récupèrent simultanément le contenu d'un cache spécifique. Jusqu'à présent, nous pensions que la raison en était que les données sont stockées uniquement hors tas et donc, à chaque demande client, une copie des données est déplacée dans le tas (-> Heap >= number_of_clients * size_of_cache). Nous nous attendions à atténuer cela en mettant onHeapEnabled = 'True' pour le cache donné car selon notre compréhension, une seule copie des données devrait alors exister dans le tas et elle ne devrait donc plus exploser.
Nous sommes conscients que la mise à l'échelle des nœuds de serveur/fournir plus de tas serait une solution ici, mais nous serions intéressés à en trouver une qui économise les ressources.
Solution du problème
La cause du MOO est très probablement due aux métriques et métadonnées internes d'Ignite qui sont par client, ce qui provoque un MOO lorsque plusieurs clients récupèrent fréquemment des données à partir de caches (en particulier des données de taille non triviale, puisque les métriques contiennent en interne des références aux données) et il y a des problèmes de connectivité avec ces clients soit à cause de clients lents (en raison de choses comme des pauses JVM, etc.) soit parce que la configuration/les threads du serveur ne sont pas suffisants pour gérer les clients.
Par conséquent, l' onHeapEnabled = 'True'
option ne va pas résoudre le MOO, si quoi que ce soit, cela ne fera qu'empirer les choses.
Au lieu de cela, je suggérerais que vous activiez Near Cache pour ce cache spécifique que vous mentionnez ainsi que la configuration de choses comme nearStartSize
& nearEvictionPolicy
sur les nœuds clients. Cela résoudra votre problème.
Notez que les caches proches sont entièrement transactionnels et sont également mis à jour ou invalidés automatiquement chaque fois que les données changent sur les nœuds du serveur, comme clairement mentionné dans la documentation.
Merci
Aucun commentaire:
Enregistrer un commentaire