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 le seguenti fasi:
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 multithread 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 richiesta 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.
*
Si definisce il numero di thread che leggono dati da un esempio di clienti con la proprietà di configurazione ProcessingThreadQueueSize. Si definisce il numero di thread che scrivono dati in una tabella di staging 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® .