DLTHREADSWRITE

L'impostazione di configurazione DLTHREADSWRITE specifica il numero di thread che Essbase può utilizzare durante la fase del processo di caricamento dei dati di memorizzazione a blocchi che scrive i blocchi sul disco. L'elaborazione parallela di più thread può migliorare le prestazioni di caricamento dei dati.

Poiché Essbase utilizza un singolo thread durante la fase di scrittura del processo di caricamento dati di memorizzazione di aggregazione (ASO), DLTHREADSWRITE non si applica ai database ASO.

Sintassi

DLTHREADSWRITE [appname [dbname]] n
  • appname: nome dell'applicazione. Parametro facoltativo per l'utilizzo del numero specificato di thread in uno o tutti i database all'interno dell'applicazione. Se si specifica un valore per appname e non si specifica un valore per dbname, l'impostazione si applica a tutti i database nell'applicazione specificata. Se non si specifica un'applicazione, non è possibile specificare un database e l'impostazione si applica a tutte le applicazioni e i database nel server Essbase.

  • dbname: nome del database. Parametro facoltativo per l'utilizzo del numero specificato di thread durante il caricamento del database specificato nell'applicazione specificata. Se non si specifica un valore per dbname, l'impostazione si applica a tutti i database all'interno dell'applicazione specificata. Se appname non viene specificato, non è possibile specificare dbname

  • n: il numero di thread che il processo di caricamento dati può utilizzare per scrivere i blocchi di dati sul disco. Specificare un numero intero compreso tra 1 e 32. Il valore predefinito è 1. Se n > 32 o un numero negativo, il valore viene considerato 32.

Descrizione

Questa impostazione, insieme a DLTHREADSPREPARE e DLSINGLETHREADPERSTAGE, è correlata all'elaborazione del caricamento parallelo dei dati. Il concetto di pipeline è rilevante per i caricamenti di dati di Essbase. Una pipeline è una serie di elementi di elaborazione dati in memoria che possono essere eseguiti in serie o in parallelo. Un'operazione di caricamento dati di Essbase utilizza una pipeline costituita da 5 fasi. Per impostazione predefinita, viene utilizzato un singolo thread per ogni fase. Pertanto, tutte le operazioni di caricamento dati richiedono un minimo di 5 thread.

Per migliorare le prestazioni di caricamento dei dati massimizzando l'uso della risorsa del processore per la propria situazione, è possibile utilizzare queste impostazioni per abilitare un'ulteriore elaborazione multi-thread nelle fasi di preparazione e scrittura dell'elaborazione del caricamento dei dati.

È possibile specificare DLTHREADSWRITE per singoli database, tutti i database all'interno di un'applicazione o per tutte le applicazioni e i database sul server.

Affinché Essbase possa utilizzare il valore specificato per DLTHREADSWRITE, l'impostazione di configurazione DLSINGLETHREADPERSTAGE deve essere impostata su FALSE.

Per ulteriori informazioni sull'elaborazione dei thread paralleli nei caricamenti dei dati di storage a blocchi, vedere Ottimizzazione dei caricamenti di dati.

Note

  • È possibile utilizzare un'altra impostazione di configurazione, DLTHREADSPREPARE, per specificare il numero di thread per la fase di preparazione dell'elaborazione del caricamento dati.

  • Molti fattori influenzano i possibili valori ottimali per DLTHREADSWRITE, tra cui il numero di processori sul computer e il numero di altri processi in esecuzione sul computer. Se si desidera impostare questa impostazione su un valore superiore a quello predefinito (1), rivolgersi all'amministratore di sistema, poiché i valori più alti possono consumare notevoli risorse di sistema. Non aspettarti vantaggi in termini di prestazioni se il numero di thread per questa impostazione è maggiore del numero di processori sul computer server.

  • L'impostazione del valore per DLTHREADSWRITE su un valore maggiore di 1 (uno) può produrre pochi benefici su un computer con processore singolo.

Esempio

DLSINGLETHREADPERSTAGE Sample Basic FALSE
DLTHREADSWRITE Sample Basic 3

Poiché DLSINGLETHREADPERSTAGE è impostato su FALSE per l'applicazione e il database di base di esempio, Essbase utilizza 3 thread paralleli durante la fase di scrittura durante il caricamento dei dati in Sample Basic.