DLTHREADSWRITE

Le paramètre de configuration DLTHREADSWRITE indique le nombre de threads qu'Essbase peut utiliser au cours de l'étape du processus de chargement des données en mode "block storage" qui écrit des blocs sur le disque. Le traitement en parallèle de plusieurs threads peut améliorer les performances de chargement des données.

Comme Essbase utilise un seul thread lors de l'étape d'écriture du processus de chargement des données en mode "aggregate storage", DLTHREADSWRITE ne s'applique pas aux bases de données ASO.

Syntaxe

DLTHREADSWRITE [appname [dbname]] n
  • appname : nom de l'application. Paramètre facultatif permettant d'utiliser le nombre de threads indiqué dans une ou toutes les bases de données de l'application. Si vous indiquez une valeur pour appname et que vous n'indiquez pas de valeur pour dbname, le paramètre s'applique à toutes les bases de données de l'application indiquée. Si vous ne spécifiez pas d'application, vous ne pouvez pas spécifier de base de données et le paramètre s'applique à toutes les applications et bases de données sur le serveur Essbase.

  • dbname : nom de la base de données. Paramètre facultatif permettant d'utiliser le nombre de threads indiqué lors du chargement de la base de données indiquée dans l'application indiquée. Si vous n'indiquez pas de valeur pour dbname, le paramètre s'applique à toutes les bases de données de l'application indiquée. Si appname n'est pas indiqué, vous ne pouvez pas indiquer dbname

  • n : nombre de threads que le processus de chargement de données peut utiliser pour écrire des blocs de données sur le disque. Indiquez un entier compris entre 1 et 32. La valeur par défaut est 1. Si n > 32 ou un nombre négatif, la valeur est supposée être 32.

Description

Ce paramètre, ainsi que DLTHREADSPREPARE et DLSINGLETHREADPERSTAGE, sont liés au traitement du chargement de données en parallèle. Le concept de pipeline est pertinent pour les chargements de données Essbase. Un pipeline est une série d'éléments de traitement de données en mémoire qui peuvent être exécutés en série ou en parallèle. Une opération de chargement de données Essbase utilise un pipeline composé de 5 étapes. Par défaut, un thread unique est utilisé pour chaque étape. Par conséquent, toutes les opérations de chargement de données nécessitent un minimum de 5 threads.

Pour améliorer les performances de chargement des données en optimisant l'utilisation des ressources de processeur pour votre situation, vous pouvez utiliser ces paramètres pour activer un traitement multithread supplémentaire lors des étapes de préparation et d'écriture du traitement de chargement des données.

Vous pouvez indiquer DLTHREADSWRITE pour chaque base de données, pour toutes les bases de données d'une application ou pour toutes les applications et bases de données du serveur.

Pour qu'Essbase utilise la valeur spécifiée pour DLTHREADSWRITE, le paramètre de configuration DLSINGLETHREADPERSTAGE doit être défini sur FALSE.

Pour plus d'informations sur le traitement des threads parallèles dans les chargements de données en mode "block storage", voir Optimisation des chargements de données.

Remarques 

  • Vous pouvez utiliser un autre paramètre de configuration, DLTHREADSPREPARE, pour indiquer le nombre de threads pour l'étape de préparation du traitement du chargement des données.

  • De nombreux facteurs affectent les valeurs optimales possibles pour DLTHREADSWRITE, y compris le nombre de processeurs sur l'ordinateur et le nombre d'autres processus en cours d'exécution sur l'ordinateur. Si vous souhaitez définir ce paramètre sur une valeur supérieure à la valeur par défaut (1), contactez l'administrateur système, car des valeurs supérieures peuvent consommer des ressources système considérables. N'attendez pas d'avantages en termes de performances si le nombre de threads pour ce paramètre est supérieur au nombre de processeurs sur l'ordinateur serveur.

  • Le fait de définir la valeur de DLTHREADSWRITE sur une valeur supérieure à 1 (un) peut produire peu ou pas d'avantages sur un ordinateur à processeur unique.

Exemple

DLSINGLETHREADPERSTAGE Sample Basic FALSE
DLTHREADSWRITE Sample Basic 3

Etant donné que DLSINGLETHREADPERSTAGE est défini sur FALSE pour l'application et la base de données Sample Basic, Essbase utilise 3 threads parallèles lors de l'étape d'écriture lors du chargement des données dans Sample Basic.