Optimisation à plusieurs threads
Vous pouvez activer l'optimisation à plusieurs threads pour améliorer les performances de Contact Optimization, c'est-à-dire pour réduire le temps d'exécution d'une session Contact Optimization.
Pour activer l'optimisation à plusieurs threads, définissez la propriété de configuration EnableMultithreading sur true.
*
L'activation de l'optimisation à plusieurs threads peut permettre d'améliorer considérablement les performances de Contact Optimization. Le niveau d'amélioration obtenu dépend de nombreux facteurs, notamment :
*
*
*
*
Le degré maximal de parallélisme possible est défini par les parties non parallèles du traitement. Il diffère d'une session Contact Optimization à une autre Contact Optimization.
En règle générale, vous pouvez suivre les directives ci-dessous.
*
La session d'optimisation se compose principalement des étapes suivantes :
1.
2.
3.
4.
5.
L'optimisation à plusieurs threads n'a pas d'incidence sur ces processus, qui s'exécutent en série. Pour améliorer les performances de lecture de la table PCT et d'écriture dans la table OCT, vous pouvez envisager d'utiliser un utilitaire de chargement de la base de données et d'optimiser la configuration de votre base de données.
*
Si vous n'utilisez pas les règles interclients dans vos sessions Contact Optimization, les améliorations de l'optimisation à plusieurs threads risquent d'être limitées.
Contact Optimization exploite au maximum l'optimisation à plusieurs threads lors du traitement des algorithmes mettant en oeuvre les règles interclients.
*
Vous pouvez définir le nombre de threads traitant les règles interclients à l'aide de la propriété de configuration MaxCustomerSampleProcessingThreads. Vous devrez peut-être régler votre système pour identifier la valeur optimale de ce paramètre en fonction de la mémoire RAM dont vous disposez et des caractéristiques des performances matérielles de votre système.
*
Vous pourrez peut-être exécuter un plus grand nombre de threads en parallèle si la valeur associée à CustomerSampleSize diminue en raison de la réduction de la quantité de mémoire RAM utilisée par thread. Toutefois, si vous réduisez cette valeur, le temps nécessaire au traitement d'un bloc diminue également. Cette configuration permet également de réduire le ratio entre le traitement et le prétraitement des blocs, mais risque d'entraîner un goulot d'étranglement lors de la phase de prétraitement.
*
Vous pouvez définir le nombre de threads lisant les données à partir d'un échantillon de clients à l'aide de la propriété de configuration ProcessingThreadQueueSize. Vous définissez le nombre de threads qui écrivent des données dans une table de transfert à l'aide de la propriété de configuration PostProcessingThreadQueueSize.
Pour plus d'informations sur le réglage de l'optimisation à plusieurs threads pour votre mise en œuvre de Contact Optimization, contactez votre partenaire commercial IBM® .