DLSINGLEREADPERSTAGE

DLSINGLETHREADPERSTAGE 配置设置指示 Essbase 在每个处理阶段使用单个线程加载数据,或者使用在 DLTHREADSPREPARE 和 DLTHREADSWRITE 配置设置中指定的线程值。这三个配置设置可帮助您测试和提高块存储数据加载性能。

语法

DLSINGLETHREADPERSTAGE [appname [dbname]] TRUE | FALSE
  • appname - 应用程序名称。可选参数,用于将 TRUE 或 FALSE 设置应用于应用程序中的一个或多个数据库。如果为 appname 指定了值,但没有为 dbname 指定值,则该设置将应用于指定应用程序中的所有数据库。如果未指定应用程序,则无法指定数据库,该设置将应用于 Essbase Server 上的所有应用程序和数据库。

  • dbname - 数据库名称。用于将 TRUE 或 FALSE 设置应用于指定应用程序中的特定数据库的可选参数。如果不为 dbname 指定值,则该设置将应用于指定应用程序中的所有数据库。如果未指定 appname,则无法指定 dbname

  • TRUE - 告诉 Essbase 在执行数据加载时不要使用 DLTHREADSPREPARE 和 DLTHREADSWRITE 配置设置中的值。因此,它将在单线程阶段执行所有数据加载进程。

  • FALSE - 指示 Essbase 使用在配置设置 DLTHREADSPREPARE 和 DLTHREADSWRITE 中指定的线程值作为在数据加载处理的准备和写入阶段中使用的线程数。默认值为 FALSE。

说明

此设置以及相关设置 DLTHREADSPREPAREDLTHREADSWRITE 与并行数据加载处理相关。数据加载处理分为 Essbase 使用每个阶段的单独处理线程执行的阶段。默认情况下,每个阶段都使用单个线程。利用服务器计算机的多线程功能,可以并行执行单独的单线程阶段。

要通过最大限度地利用处理器资源来提高数据加载性能,可以使用这些设置在数据加载处理的准备和写入阶段中启用额外的多线程处理。

说明

  • 在测试 DLTHREADSPREPARE 和 DLTHREADSWRITE 配置设置的线程值时,可以使用 DLSINGLETHREADPERSTAGE 设置快速恢复为每个阶段使用单个线程。

  • 在准备和写入阶段启用多个线程可能会在单处理器计算机上产生很少的好处。

  • 优化数据源的内容和组织等因素可以提高性能,而不是增加要使用的线程数。

示例

示例 1

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

在将数据加载到 Sample Basic 应用程序和数据库时, Essbase 会忽略 DLTHREADSPREPARE 和 DLTHREADSWRITE 指定的任何值。因此, Essbase 在每个阶段都使用单个线程。

示例 2

DLSINGLETHREADPERSTAGE FALSE
DLTHREADSPREPARE Sample Basic 3
DLTHREADSWRITE Sample Basic 4

根据第一个设置, Essbase 对服务器上的所有数据库使用 DLTHREADSPREPARE 和 DLTHREADSWRITE 配置设置指定的线程数。第二行和第三行上的设置指定在加载 Sample Basic 应用程序和数据库时对准备阶段使用 3 个处理线程,对写入阶段使用 4 个处理线程。假定没有其他相关的设置,则为服务器上的所有其他应用程序和数据库假定默认值 1(1)。

示例 3

DLSINGLETHREADPERSTAGE Sample FALSE
DLTHREADSWRITE Sample Basic 3
DLTHREADSWRITE Sample Interntl 4

在上例中, Essbase 使用 DLTHREADSPREPARE 和 DLTHREADSWRITE 配置设置为应用程序中名为 Sample 的所有数据库指定的线程数。要为两个不同数据库的写入阶段启用不同数量的线程,在每个特定数据库的不同线程值中包括两个 DLTHREADSWRITE 设置。由于未指定 DLTHREADSPREPARE 设置,因此准备阶段是单线程的。