DLSINGLETHREADPERSTAGE
A definição de configuração DLSINGLETHREADPERSTAGE instrui o Essbase a carregar dados usando um único thread por estágio de processamento ou a usar os valores de thread especificados nas definições de configuração DLTHREADSPREPARE e DLTHREADSWRITE. Essas três definições de configuração ajudam a testar e melhorar o desempenho do carregamento de dados de armazenamento em blocos.
Sintaxe
DLSINGLETHREADPERSTAGE [appname [dbname]] TRUE | FALSE-
appname — Nome do aplicativo. Parâmetro opcional para aplicar a configuração TRUE ou FALSE a um ou todos os bancos de dados dentro do aplicativo. Se você especificar um valor para appname e não especificar um valor para dbname, a definição se aplicará a todos os bancos de dados no aplicativo especificado. Se você não especificar um aplicativo, não poderá especificar um banco de dados e a configuração se aplicará a todos os aplicativos e bancos de dados no Essbase Server.
-
dbname — Nome do banco de dados. Parâmetro opcional para aplicar a definição TRUE ou FALSE a um banco de dados específico dentro do aplicativo especificado. Se você não especificar um valor para dbname, a definição se aplicará a todos os bancos de dados dentro do aplicativo especificado. Se appname não for especificado, não será possível especificar dbname.
-
VERDADEIRO — Diz ao Essbase não para usar os valores nas configurações DLTHREADSPREPARE e DLTHREADSWRITE ao executar um carregamento de dados. Consequentemente, ele executa todos os processos de carregamento de dados em estágios de um único thread.
-
FALSO — Diz ao Essbase para usar os valores de thread especificados nas definições de configuração DLTHREADSPREPARE e DLTHREADSWRITE como os números de threads a serem usados nos estágios de preparação e gravação do processamento de carregamento de dados. O valor padrão é FALSE.
Descrição
Essa configuração e as configurações relacionadas DLTHREADSPREPARE e DLTHREADSWRITE estão relacionadas ao processamento de carregamento de dados paralelos. O processamento de carregamento de dados é dividido em estágios que são executados pelo Essbase usando threads de processamento separados para cada estágio. Por padrão, um único thread é usado para cada estágio. Aproveitando os recursos de multithreading do computador do servidor, os estágios separados de um único thread podem ser executados em paralelo.
Para melhorar o desempenho do carregamento de dados, maximizando o uso do recurso do processador para sua situação, você pode usar essas configurações para ativar o processamento de vários threads adicional nos estágios de preparação e gravação do processamento do carregamento de dados.
Notas
-
Ao testar valores de thread para as definições de configuração DLTHREADSPREPARE e DLTHREADSWRITE, você pode usar a definição DLSINGLETHREADPERSTAGE para reverter rapidamente para o uso de um único thread por estágio.
-
Permitir o uso de vários threads durante os estágios de preparação e gravação pode produzir pouco ou nenhum benefício em um computador de processador único.
-
A otimização de fatores como o conteúdo e a organização da fonte de dados pode melhorar o desempenho mais do que o aumento do número de threads a serem usados.
Exemplos
Exemplo 1
DLSINGLETHREADPERSTAGE Sample Basic TRUE
DLTHREADSPREPARE Sample Basic 3
DLTHREADSWRITE Sample Basic 4O Essbase ignora quaisquer valores especificados por DLTHREADSPREPARE e DLTHREADSWRITE ao carregar dados para o aplicativo e banco de dados de Amostra Básica. Como resultado, o Essbase usa threads únicos em cada estágio.
Exemplo 2
DLSINGLETHREADPERSTAGE FALSE
DLTHREADSPREPARE Sample Basic 3
DLTHREADSWRITE Sample Basic 4Com base na primeira definição, o Essbase usa o número de threads especificado pelas definições de configuração DLTHREADSPREPARE e DLTHREADSWRITE para todos os bancos de dados no servidor. As definições na segunda e terceira linhas especificam o uso de 3 threads de processamento para os estágios de preparação e 4 threads de processamento para os estágios de gravação ao carregar o aplicativo Sample Basic e o banco de dados. Supondo que não haja mais configurações relacionadas, o valor padrão 1 (um) é assumido para todos os outros aplicativos e bancos de dados no servidor.
Exemplo 3
DLSINGLETHREADPERSTAGE Sample FALSE
DLTHREADSWRITE Sample Basic 3
DLTHREADSWRITE Sample Interntl 4No exemplo acima, o Essbase usa o número de threads especificado pelas definições de configuração DLTHREADSPREPARE e DLTHREADSWRITE para todos os bancos de dados no aplicativo chamado Amostra. Para ativar o uso de diferentes números de threads para o estágio de gravação para os dois bancos de dados diferentes, duas definições DLTHREADSWRITE são incluídas com diferentes valores de thread para cada banco de dados específico. Como nenhuma configuração DLTHREADSPREPARE foi especificada, o estágio de preparação é de thread único.