Taille de pool de flux de données

La taille de pool de flux de données contrôle le nombre d'instances que chaque flux de données de service peut exécuter simultanément. Vous pouvez augmenter la taille de pool pour améliorer les performances jusqu'à un certain point, mais la taille de pool accrue risque de réduire les performances si le serveur ne dispose pas des ressources processeur ou mémoire disponibles nécessaires pour gérer plusieurs instances de chaque flux de données de service exécutées simultanément. Si les ressources mémoire et processeur sont utilisées à leur limite, vous trouverez peut-être que le fait de réduire la taille de pool de flux de données, qui limite le nombre d'instances simultanées de chaque flux de données de service, offre des performances générales plus acceptables.

Lors de la recherche de la taille de pool adaptée à votre système, n'oubliez pas que la taille de pool de flux de données limite le nombre d'instances de chaque flux de données de service et non le nombre total de flux de données de service simultanés. Par exemple, avec le paramètre par défaut 8, chaque flux de données de service est autorisé à disposer de huit instances exécutées simultanément. S’il existe deux flux de données de service, chacun utilisant la valeur maximale de 8 instances simultanées, cela donne un total de 16 instances de flux de données de service exécutées simultanément sur votre système.

Remarque : La taille de pool de flux de données affecte uniquement les performances des services, pas celles des jobs.

Pour configurer la taille de pool de flux de données :

  1. Activez l'analyseur de performances de la console JMX. Pour plus d'informations, reportez-vous à la section Analyse des performances à l'aide de la console JMX.
  2. Envoyez plusieurs requêtes simultanées au service via l’API ou les services web.
  3. Dans la console JMX, notez le temps dans ServiceRuntimeManager.borrow.DataflowName. Cela indique le temps qu'une requête de service attend pour obtenir de l'espace dans le pool avant de pouvoir être exécutée. Le temps est indiqué en millisecondes.
  4. Ouvrez le fichier suivant :

    SpectrumLocation\server\app\conf\dataflowpool-pool-sizes.properties

  5. Augmentez ou réduisez la taille de pool de la valeur qui, selon vous, améliorera les performances. La taille de pool par défaut est huit.
    • Si le temps d’attente indiqué dans ServiceRuntimeManager.borrow. DataflowName est long, vous pouvez envisager d’augmenter la taille de pool de flux de données pour réduire le temps que les requêtes de service attendent avant de pouvoir être exécutées. Ou bien vous pouvez souhaiter un long temps d'attente pour ralentir les requêtes et de ne pas surcharger les ressources du serveur.
    • Si le temps d’attente indiqué dans ServiceRuntimeManager.borrow. DataflowName n’est pas long et si les performances sont lentes, cela peut indiquer que votre serveur ne dispose pas des ressources processeur ou mémoire suffisantes pour gérer de nombreux flux de données de service simultanés. Vous pouvez envisager de réduire la taille de pool de flux de données pour limiter les requêtes.
  6. Enregistrez et fermez le fichier.
  7. Exécutez de nouveau plusieurs requêtes simultanées et observez le temps d'attente affiché dans ServiceRuntimeManager.borrow.DataflowName sur la console JMX.
  8. Testez d'autres tailles de pool, jusqu'à déterminer le réglage optimal.