DLSINGLETHREADPERSTAGE

This configuration setting instructs Essbase to load data using a single thread per processing stage, or to use the thread values specified in the DLTHREADSPREPARE and DLTHREADSWRITE configuration settings.

By working with these three configuration settings, you may be able to test and 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.

Syntax

DLSINGLETHREADPERSTAGE [appname [dbname]] TRUE | FALSE
  • appname—Application name. Optional parameter for applying the TRUE or FALSE setting to 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 applying the TRUE or FALSE setting to a specific 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.

  • TRUE—Tells Essbase not to use the values in the DLTHREADSPREPARE and DLTHREADSWRITE configuration settings when it performs a data load. Consequently, it performs all data load processes in single-thread stages.

  • FALSE—Tells Essbase to use the thread values specified in the configuration settings DLTHREADSPREPARE and DLTHREADSWRITE as the numbers of threads to use in the preparation and write stages of data load processing. The default value is FALSE.

Description

This setting, and related settings DLTHREADSPREPARE and DLTHREADSWRITE, are related to parallel data load processing. Data load processing is divided up into stages that are performed by Essbase using separate processing threads for each stage. By default, a single thread is used for each stage. Taking advantage of the multithreading capabilities of the server machine, the separate single-thread stages can be performed in parallel.

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.

Notes

  • While testing thread values for the DLTHREADSPREPARE and DLTHREADSWRITE configuration settings, you can use the DLSINGLETHREADPERSTAGE setting to quickly revert to using a single thread per stage.

  • Enabling use of multiple threads during the preparation and write stages may produce little if any benefit on a single-processor machine.

  • Optimizing factors such as the content and organization of the data source can enhance performance more than increasing the numbers of threads to be used. See Optimizing Data Loads.

Examples

Example 1

DLSINGLETHREADPERSTAGE Sample Basic TRUE
DLTHREADSPREPARE Sample Basic 3
DLTHREADSWRITE Sample Basic 4

Essbase ignores any values specified by DLTHREADSPREPARE and DLTHREADSWRITE while loading data to the Sample Basic application and database. As a result, Essbase uses single threads in each stage.

Example 2

DLSINGLETHREADPERSTAGE FALSE
DLTHREADSPREPARE Sample Basic 3
DLTHREADSWRITE Sample Basic 4

Based on the first setting, Essbase uses the number of threads specified by the DLTHREADSPREPARE and DLTHREADSWRITE configuration settings for all databases on the server. The settings on the second and third lines specify use of 3 processing threads for the preparation stages and 4 processing threads for the write stages when loading the Sample Basic application and database. Assuming that there are no further related settings, the default value 1 (one) is assumed for all other applications and databases on the server.

Example 3

DLSINGLETHREADPERSTAGE Sample FALSE
DLTHREADSWRITE Sample Basic 3
DLTHREADSWRITE Sample Interntl 4

In this example Essbase uses the number of threads specified by the DLTHREADSPREPARE and DLTHREADSWRITE configuration settings for all databases within the application named Sample. To enable usage of different numbers of threads for the write stage for the two different databases, two DLTHREADSWRITE settings are included with different thread values for each specific database. Because no DLTHREADSPREPARE setting is specified, the preparation stage is single-threaded.