Ottimizzazione multithread
È possibile abilitare l'ottimizzazione multithread per migliorare le prestazioni di Contact Optimization, che consiste nel ridurre la quantità di tempo necessaria per eseguire una sessione Contact Optimization.
Per abilitare l'ottimizzazione multithread, impostare la proprietà di configurazione EnableMultithreading su true.
*
L'abilitazione dell'ottimizzazione multithread potrebbe migliorare notevolmente le prestazioni di Contact Optimization. Il grado di miglioramento delle prestazioni dipende da molti fattori, compresi:
*
*
*
*
Il grado massimo di parallelismo che è possibile raggiungere è regolato dalle parti non parallele dell'elaborazione e varia da sessione Contact Optimization a sessione Contact Optimization.
In generale, utilizzare le seguenti linee guida.
*
Una parte significativa di una esecuzione di sessione di ottimizzazione include i seguenti step:
1.
2.
3.
4.
5.
L'ottimizzazione multithread non influenza questi processi, che vengono eseguiti in modo seriale. Per migliorare le prestazioni della lettura della PCT e della scrittura nella OCT, considerare l'utilizzo di un programma di utilità per il caricamento del database e l'ottimizzazione della configurazione del database.
*
Se non si utilizzano regole per più clienti nelle sessioni Contact Optimization, l'ottimizzazione multi-thread comporterà un limitato miglioramento.
Contact Optimization utilizza l'ottimizzazione multi-thread prevalentemente per l'elaborazione di algoritmi che implementano regole per più clienti.
*
Si definisce il numero di thread che elaborano le regole per più clienti con la proprietà di configurazione MaxCustomerSampleProcessingThreads- Potrebbe essere necessario regolare il sistema per trovare il valore ottimale di questa impostazione, sulla base della RAM disponibile e delle caratteristiche delle prestazioni hardware.
*
Potrebbe essere possibile eseguire più thread in parallelo se si ha una CustomerSampleSize più piccola perché l'utilizzo di RAM per thread si riduce. Tuttavia, la riduzione di questo valore riduce anche la quantità di tempo necessaria per elaborare un blocco. Questa configurazione riduce anche il rapporto tra elaborazione dei blocchi e pre-elaborazione, rendendo quest'ultima causa di una condizione di collo di bottiglia in meno tempo.
*
Il numero di thread che leggono dati da un campione di clienti viene definito con la proprietà di configurazione ProcessingThreadQueueSize. Il numero di thread che scrivono dati in una tabella di staging viene definito con la proprietà di configurazione PostProcessingThreadQueueSize.
Per ulteriori dettagli sulla regolazione dell'ottimizzazione multithread per la propria specifica implementazione di Contact Optimization, contattare il rappresentante di IBM .