DLTHREADSPREPARE

This configuration setting specifies how many threads Essbase may use during the data load preparation stage, which organizes the source data in memory in preparation for storing the data into blocks. Multiple threads, processing in parallel, may improve data load performance.

You can specify this setting for individual databases, for all databases within an application, or for all applications and databases on the server.

In order for Essbase to use the value specified for this setting, the DLSINGLETHREADPERSTAGE setting must be set to FALSE.

Syntax

DLTHREADSPREPARE [appname [dbname]] n
  • appname—Application name. Optional parameter for using the specified number of threads in one or all databases within the application. If you specify a value for appname and do not specify a value for dbname, the setting applies to all databases in the specified application. If you do not specify an application, you cannot specify a database and the setting applies to all applications and databases on the Essbase Server.

  • dbname—Database name. Optional parameter for using the specified number of threads when loading the specified database within the specified application. If you do not specify a value for dbname, the setting applies to all databases within the specified application. If appname is not specified, you cannot specify dbname.

  • n—The number of threads the data load process may use for preparing the data to be loaded. Specify an integer between 1 and 32. The default value is 1.

    If n is greater than the maximum or a negative number, the value is assumed to be 32.

Description

This setting, and related settings DLTHREADSWRITE and DLSINGLETHREADPERSTAGE, are related to parallel data load processing. The concept of a pipeline is relevant to Essbase data loads. A pipeline is a series of data processing elements in memory that may be executed serially or in parallel. An Essbase data load operation uses a pipeline consisting of 5 stages. By default, a single thread is used for each stage. Therefore, all data load operations need a minimum of 5 threads.

To improve data load performance by maximizing use of processor resource for your situation, you can use these settings to enable additional multiple-thread processing within the preparation and write stages of data load processing. For more information about parallel thread processing in data loads, see Optimizing Data Loads.

Notes

  • You can use another configuration setting, DLTHREADSWRITE, to specify the number of threads for the write stage of data load processing.

  • Many factors affect the possible optimal values for DLTHREADSPREPARE including the number of processors on the machine and the number of other processes running on the machine. If you want to set this setting to a value higher than the default (1), check with your system administrator, as higher values can consume considerable system resources. As a rule of thumb, do not expect performance advantages if the number of threads for this setting is greater than the number of processors on the server machine.

  • Setting the value for DLTHREADSPREPARE to be greater than 1 (one) may produce little if any benefit on a single-processor machine.

Example

DLSINGLETHREADPERSTAGE Sample Basic FALSE
DLTHREADSPREPARE Sample Basic 3

Because DLSINGLETHREADPERSTAGE is set to FALSE for the Sample Basic application and database, Essbase uses 3 parallel threads during the preparation stage when loading data to Sample Basic.