Ottimizzazione multithread
È possibile abilitare l'ottimizzazione multithread per migliorare le prestazioni di Optimize, ossia ridurre la quantità di tempo necessaria per eseguire una sessione Optimize.
Per abilitare l'ottimizzazione multithread, impostare la proprietà di configurazione EnableMultithreading su true.
*
L'abilitazione dell'ottimizzazione multithread potrebbe migliorare notevolmente le prestazioni di Optimize. 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 Optimize a sessione Optimize.
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.
*
Optimize 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 Optimize, contattare il rappresentante di IBM® Unica ® .