Performances

Les déploiements IBM Cloud® Databases for Elasticsearch peuvent être mis à l'échelle en fonction de votre utilisation, configurés pour une mise à l'échelle automatique sous certaines conditions de ressource ou mis à l'échelle horizontalement avec davantage de noeuds Elasticsearch. Si vous souhaitez améliorer les performances de votre déploiement, tenez compte de quelques facteurs.

Surveillance de votre déploiement

Les déploiements Databases for Elasticsearch offrent une intégration au serviceIBM Cloud® Monitoring pour la surveillance de base de l'utilisation des ressources sur votre déploiement. De nombreuses métriques disponibles, comme l'utilisation du disque et les IOPS, sont présentées pour vous aider à configurer la mise à l'échelle automatique sur votre déploiement. L'observation des tendances liées à votre utilisation et la configuration de la mise à l'échelle automatique pour y répondre peuvent vous aider à atténuer les problèmes de performance avant que vos bases de données ne deviennent instables en raison de l'épuisement des ressources.

Fragmentation Elasticsearch

Lorsque vous ajoutez un index à Elasticsearch, les données sont divisées en fragments qui sont ensuite répartis sur les noeuds du cluster. La configuration par fragments permet à Elasticsearch d'exécuter des opérations simultanées sur vos données dans tous les noeuds. Pour obtenir des accès concurrents et des performances supplémentaires, ajoutez des noeuds au Elasticsearch. Lorsque vous ajoutez des noeuds, vos fragments sont automatiquement rééquilibrés sur le cluster afin de répartir l'utilisation des ressources sur tous les noeuds et d'augmenter les performances.

Gestion de la mémoire

La mémoire d'Elasticsearch se divise en deux catégories : taille de segment de mémoire de machine virtuelle Java et mémoire système. Elle utilise le segment de mémoire pour la mise en cache interne et le reste de la mémoire système pour le système d'exploitation, les caches de système de fichiers et la récupération de place. Plus la quantité de mémoire allouée au segment de mémoire est élevée, plus celle qui est allouée au reste du système est faible.

La règle d'allocation de mémoire pour les déploiements Databases for Elasticsearch correspond à 50 % de segment de mémoire et à 50 % de mémoire système, avec une taille de segment de mémoire de 32 Go. Dans certains cas, il est utile de mettre à l'échelle un déploiement pour une capacité supérieure à 64 Go de mémoire RAM même avec la limite de segment de mémoire car Elasticsearch utilise le cache de système de fichiers et atténue la pression sur l'utilisation des E-S de disque. Vous pouvez configurer la mise à l'échelle automatique pour augmenter la mémoire lorsque l'utilisation des E/S disque atteint un certain seuil.

IOPS de disque

Le nombre d'IOPS est limité par le type de volume de stockage. Les volumes de stockage pour les déploiements Databases for Elasticsearch sont mis à disposition sur des volumes Block Storage Endurance dans le niveau 10 IOPS par Go. Lorsque les limites d'IOPS sont atteintes, un ralentissement des temps de réponse de vos bases de données peut se produire ou celles-ci peuvent sembler peu réceptives.

L'indexation utilise l'espace disque, par conséquent, si votre cas d'utilisation comprend de lourdes tâches d'écriture, votre vitesse d'indexation peut être limitée par les IOPS disponibles sur votre déploiement. Vous pouvez améliorer certains goulots d'étranglement en ajustant vos index pour l'utilisation de l'espace disque. En outre, la recherche peut utiliser l'espace disque si votre jeu de données de travail ne correspond pas au cache du système de fichiers, ce qui augmente la charge IOPS. Si votre cas d'utilisation implique une opération de recherche dans un jeu de données volumineux, l'augmentation de la mémoire sur votre déploiement peut contribuer à rendre Elasticsearch moins dépendant de l'espace disque.

A noter également que la règle de gestion du système de fichiers Lucene par défaut est niofs, qui permet les lectures simultanées d'un fichier, lesquelles peuvent également être contraintes par les limites d'entrée-sortie de disque. Les informations sur les types de stockage de système de fichiers sont disponibles dans la documentation Elasticsearch.

Si vous besoin de plus d'IOPS, vous pouvez accroître le nombre d'IOPS disponibles pour votre déploiement en augmentant l'espace disque. Si vous connaissez les tendances de votre indexation ou de votre utilisation à augmenter les E-S de disque, vous pouvez configurer la mise à l'échelle automatique afin d'augmenter l'espace disque en fonction des IOPS.