Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
SQL Server 2019 (15.x)
Importante
O SQL Server Distributed Replay não está disponível com o SQL Server 2022 (16.x) e versões posteriores.
Os detalhes de configuração do Microsoft SQL Server Distributed Replay são especificados em arquivos XML no controlador do Distributed Replay, clientes e onde a ferramenta de administração está instalada. Esses arquivos incluem o seguinte:
Arquivo de configuração do controlador: DReplayController.config
Quando o serviço de controlador do SQL Server Distributed Replay é iniciado, ele carrega o nível de log do arquivo de configuração do controlador, DReplayController.config. Esse arquivo está localizado na pasta onde você instalou o serviço de controlador do Distributed Replay:
<Caminho> de instalação do controlador\DReplayController.config
O nível de log especificado pelo arquivo de configuração do controlador inclui o seguinte:
| Configurações | Elemento XML | Descrição | Valores permitidos | Obrigatório |
|---|---|---|---|---|
| Nível de registo | <LoggingLevel> |
Especifica o nível de log para o serviço do controlador. | INFORMATION | WARNING | CRITICAL |
Não. Por predefinição, o valor é CRITICAL. |
Exemplo
Este exemplo mostra um ficheiro de configuração do controlador que foi modificado para ocultar INFORMATION e WARNING entradas de log.
<?xml version='1.0'?>
<Options>
<LoggingLevel>CRITICAL</LoggingLevel>
</Options>
Arquivo de configuração do cliente: DReplayClient.config
Quando o serviço de cliente do SQL Server Distributed Replay é iniciado, ele carrega as definições de configuração do arquivo de configuração do cliente, DReplayClient.config. Esse arquivo está localizado em cada cliente, na pasta onde você instalou o serviço de cliente do Distributed Replay:
<caminho de instalação> do cliente\DReplayClient.config
As configurações especificadas pelo arquivo de configuração do cliente incluem o seguinte:
| Configurações | Elemento XML | Descrição | Valores permitidos | Obrigatório |
|---|---|---|---|---|
| Controlador | <Controller> |
Especifica o nome do computador do controlador. O cliente tentará se registrar no ambiente do Distributed Replay entrando em contato com o controlador. | Você pode usar "localhost" ou "." para se referir ao computador local. |
Não. Por padrão, o cliente tenta se registrar com a instância do controlador que está sendo executada localmente ("."), se ela existir. |
| Diretório de trabalho do cliente | <WorkingDirectory> |
É o caminho local no cliente onde os arquivos de despacho são salvos. Os arquivos neste diretório são substituídos na próxima repetição. |
Um nome de diretório completo, começando com a letra da unidade. | Não. Se nenhum valor for especificado, os arquivos de despacho serão salvos no mesmo local que o arquivo de configuração do cliente padrão. Se um valor for especificado e essa pasta não existir no cliente, o serviço do cliente não será iniciado. |
| Diretório de resultados do cliente | <ResultDirectory> |
É o caminho local no cliente onde o ficheiro de registo de resultados da atividade de repetição (para o cliente) é salvo. Os arquivos neste diretório são substituídos na próxima repetição. |
Um nome de diretório completo, começando com a letra da unidade. | Não. Se nenhum valor for especificado, o arquivo de rastreamento de resultados será salvo no mesmo local que o arquivo de configuração do cliente padrão. Se um valor for especificado e essa pasta não existir no cliente, o serviço do cliente não será iniciado. |
| Nível de registo | <LoggingLevel> |
É o nível de log para o serviço do cliente. | INFORMATION | WARNING | CRITICAL |
Não. Por predefinição, o valor é CRITICAL. |
Exemplo
Este exemplo mostra um arquivo de configuração do cliente que foi modificado para especificar que o serviço do controlador está sendo executado em um computador diferente, um computador chamado Controller1. Os WorkingDirectory elementos e ResultDirectory foram configurados para usar pastas c:\ClientWorkingDir e c:\ResultTraceDir, respectivamente. O nível de registo foi alterado do valor padrão para suprimir as entradas de registo INFORMATION e WARNING.
<?xml version='1.0'?>
<Options>
<Controller>Controller1</Controller>
<WorkingDirectory>c:\ClientWorkingDir</WorkingDirectory>
<ResultDirectory>c:\ResultTraceDir</ResultDirectory>
<LoggingLevel>CRITICAL</LoggingLevel>
</Options>
Arquivo de configuração de pré-processamento: DReplay.exe.preprocess.config
Quando você usa a ferramenta de administração para iniciar o estágio de pré-processo, a ferramenta de administração carrega as configurações de pré-processo do arquivo de configuração de pré-processo, DReplay.exe.preprocess.config.
Use o arquivo de configuração padrão ou use o parâmetro -c da ferramenta de administração para especificar o local de um arquivo de configuração de pré-processo modificado. Para obter mais informações sobre como usar a opção de pré-processo da ferramenta de administração, consulte Opção de pré-processo (Distributed Replay Administration Tool).
O arquivo de configuração de pré-processamento padrão está localizado na pasta onde você instalou a ferramenta de administração:
<Caminho> de instalação da ferramenta de administração\DReplayAdmin\DReplay.exe.preprocess.config
As definições de configuração de pré-processamento são especificadas em elementos XML que são filhos do <PreprocessModifiers> elemento no arquivo de configuração de pré-processamento. Essas configurações incluem o seguinte:
| Configurações | Elemento XML | Descrição | Valores permitidos | Obrigatório |
|---|---|---|---|---|
| Incluir atividades de sessão do sistema | <IncSystemSession> |
Indica se as atividades da sessão do sistema durante a captura serão incluídas durante a reprodução. | Yes | No |
Não. Por predefinição, o valor é No. |
| Tempo máximo de marcha lenta sem carga | <MaxIdleTime> |
Limita o tempo ocioso a um número absoluto (em segundos). | Um inteiro que é >= -1.-1 Indica nenhuma alteração em relação ao valor original no arquivo de rastreamento original.0 indica que há alguma atividade acontecendo em um determinado momento. |
Não. Por predefinição, o valor é -1. |
Exemplo
O arquivo de configuração de pré-processamento padrão:
<?xml version='1.0'?>
<Options>
<PreprocessModifiers>
<IncSystemSession>No</IncSystemSession>
<MaxIdleTime>-1</MaxIdleTime>
</PreprocessModifiers>
</Options>
Arquivo de configuração de repetição: DReplay.exe.replay.config
Quando se utiliza a ferramenta de administração para iniciar a fase de reprodução de eventos, esta carrega as definições de reprodução a partir do ficheiro de configuração de repetição, DReplay.exe.replay.config.
Use o arquivo de configuração padrão ou use o parâmetro -c da ferramenta de administração para especificar o local de um arquivo de configuração de repetição modificado. Para obter mais informações sobre como usar a opção de repetição da ferramenta de administração, consulte Opção de repetição (Distributed Replay Administration Tool).
O arquivo de configuração de repetição padrão está localizado na pasta onde você instalou a ferramenta de administração:
<Caminho> de instalação da ferramenta de administração\DReplayAdmin\DReplay.exe.replay.config
As definições de configuração de repetição são especificadas em elementos XML que são filhos dos elementos <ReplayOptions> e <OutputOptions> do arquivo de configuração de repetição.
<Elemento ReplayOptions>
As configurações especificadas pelo ficheiro de configuração de repetição no elemento <ReplayOptions> incluem o seguinte:
| Configurações | Elemento XML | Descrição | Valores permitidos | Obrigatório |
|---|---|---|---|---|
| Instância de destino do SQL Server (o servidor de teste) | <Server> |
Especifica o nome do servidor e da instância do SQL Server aos quais se conectar. |
server_name[\instance_name] Não é possível usar " localhost" ou "." para representar o host local. |
Não, se o nome do servidor já estiver especificado usando o parâmetro de servidor de destino-s com a opção de repetição da ferramenta de administração. |
| Modo de sequenciação | <SequencingMode> |
Especifica o modo usado para agendamento de eventos. | synchronization | stress |
Não. Por predefinição, o valor é stress. |
| Granularidade da escala de tensões | <StressScaleGranularity> |
Especifica se todas as conexões na ID de Sessão (SPID) devem ser dimensionadas juntas (SPID) ou independentemente (Conexão) no modo de estresse. | SPID | Ligação | Sim. Por predefinição, o valor é SPID. |
| Escala de tempo de conexão | <ConnectTimeScale> |
É usado para dimensionar o tempo de conexão no modo de estresse. | Um inteiro entre 1 e 100. |
Não. Por predefinição, o valor é 100. |
| Pense na escala de tempo | <ThinkTimeScale> |
É usado para escalar o tempo de pensamento no modo de estresse. | Um inteiro entre 0 e 100. |
Não. Por predefinição, o valor é 100. |
| Utilizar o pool de conexões | <UseConnectionPooling> |
Especifica se o pool de conexões será habilitado em cada cliente do Distributed Replay. | Sim | Não | Sim. Por predefinição, o valor é Yes. |
| Intervalo do monitor de saúde | <HealthmonInterval> |
Indica a frequência de execução do monitor de integridade (em segundos). Esse valor só é usado no modo de sincronização. |
Inteiro >= 1-1( para desativar) |
Não. Por predefinição, o valor é 60. |
| Tempo limite da consulta | <QueryTimeout> |
Especifica o valor de tempo limite da consulta, em segundos. Esse valor só é efetivo até que a primeira linha tenha sido retornada. | Inteiro >= 1-1( para desativar) |
Não. Por predefinição, o valor é 3600. |
| Threads por cliente | <ThreadsPerClient> |
Especifica o número de threads de repetição a serem usados para cada cliente de repetição. | Um inteiro entre 1 e 512. |
Não. Se não for especificado, o Distributed Replay usará um valor de 255. |
<Elemento de Opções de Saída>
As configurações especificadas pelo ficheiro de configuração de repetição no elemento <OutputOptions> incluem o seguinte:
| Configurações | Elemento XML | Descrição | Valores permitidos | Obrigatório |
|---|---|---|---|---|
| Contagem de linhas recorde | <RecordRowCount> |
Indica se a contagem de linhas deve ser registrada para cada conjunto de resultados. | Yes | No |
Não. Por predefinição, o valor é Yes. |
| Conjunto de resultados recorde | <RecordResultSet> |
Indica se o conteúdo de todos os conjuntos de resultados deve ser registrado. | Yes | No |
Não. Por predefinição, o valor é No. |
Exemplo
O arquivo de configuração de repetição padrão:
<?xml version='1.0'?>
<Options>
<ReplayOptions>
<Server></Server>
<SequencingMode>stress</SequencingMode>
<ConnectTimeScale></ConnectTimeScale>
<ThinkTimeScale></ThinkTimeScale>
<HealthmonInterval>60</HealthmonInterval>
<QueryTimeout>3600</QueryTimeout>
<ThreadsPerClient></ThreadsPerClient>
</ReplayOptions>
<OutputOptions>
<ResultTrace>
<RecordRowCount>Yes</RecordRowCount>
<RecordResultSet>No</RecordResultSet>
</ResultTrace>
</OutputOptions>
</Options>
Possível problema quando se executa com o modo de sequenciamento de sincronização
Você pode encontrar um sintoma no qual a funcionalidade de repetição parece "parar" ou repete eventos lentamente. Esse fenômeno pode ocorrer se o rastreamento que está sendo repetido depender de dados e/ou eventos que não existem no banco de dados de destino restaurado.
Um exemplo é uma carga de trabalho capturada que usa WAITFOR, como na instrução WAITFOR RECEIVE do Service Broker. Ao usar o modo de sequenciamento de sincronização, os lotes são repetidos em série. Se um INSERT ocorrer no banco de dados de origem após o backup do banco de dados, mas antes que o rastreamento de captura de repetição seja iniciado, o WAITFOR RECEIVE emitido durante a reprodução pode ter que aguardar toda a duração do WAITFOR. Os eventos configurados para serem repetidos após o WAITFOR RECEIVE serão adiados. Isso pode fazer com que o contador do monitor de desempenho Batch Requests/sec para o destino do banco de dados de repetição caia para zero até que o WAITFOR seja concluído.
Se você precisar usar o modo de sincronização e desejar evitar esse comportamento, deverá fazer o seguinte:
Desative os bancos de dados que você usará como alvos de repetição.
Permita que todas as atividades pendentes sejam concluídas.
Faça backup dos bancos de dados e permita que os backups sejam concluídos.
Inicie a sessão de captura de traços de reprodução distribuída e retome a carga de trabalho normal.
Ver também
- Opções de Linha de Comando da Ferramenta de Administração (Distributed Replay Utility)
- Replaying Distribuído do SQL Server
- Usando o Distributed Replay para teste de carga do seu SQL Server - Parte 2
- Usar o Distributed Replay para testar a carga do seu SQL Server - Parte 1