Executar um teste de estresse
Conteúdo
casso128figsbrbr
Conteúdo
A Ferramenta de teste permite que você teste o desempenho quando o servidor de políticas recebe mais de uma solicitação por vez. Ao usar os testes de estresse, é possível simular vários agentes se comunicando com o servidor de políticas simultaneamente ou um único agente se comunicando com o servidor de políticas em vários segmentos.
Os testes de estresse são executados no modo Reprodução avançada. A Ferramenta de teste recebe instruções de um arquivo de controle de segmentos que especifica os testes a serem executados e quantas vezes eles devem ser executados. Depois de executar as instruções no arquivo de controle de segmentos, os resultados do teste são gravados em um arquivo de saída.
Configurar um arquivo de controle de segmentos
Configure um arquivo de controle de segmentos para definir os arquivos de script de comandos a serem executados, o número de repetições, segmentos, e assim por diante, para automatizar testes complexos para os testes de estresse. O arquivo de controle de segmentos contém várias linhas de instrução na própria linguagem de criação de scripts da Ferramenta de teste, além de comentários indicados pelo símbolo # no início da linha.
As instruções básicas estão no seguinte formato:
command_script_file,repetition_count,thread_count,max_time_in_seconds
- command_script_fileEspecifica o nome do caminho do arquivo de script de comandos registrado anteriormente.
- repetition_countEspecifica o número de vezes que a Ferramenta de teste executa o script de comando.
- thread_countEspecifica quantos segmentos simultâneos a Ferramenta de teste inicia a execução do script de comandos.
- max_time_in_seconds(Opcional) Especifica um limite (em segundos) para a duração do teste. Se o teste exceder o limite de tempo decorrido, a reprodução será interrompida, independentemente de o número de repetições ter sido concluído.
Por exemplo:
# c:\temp\test_data.txt, 8, 6, 120
Essa linha indica que:
- O script de comandos de entrada é c:\temp\test_data.txt
- A Ferramenta de teste executará o script oito vezes
- Seis segmentos simultâneos executam o script
- O teste termina depois de 120 segundos, independentemente de as oito repetições terem sido concluídas
A Ferramenta de teste grava o resultado do teste em um arquivo. O nome do arquivo de saída é o nome do arquivo de entrada com_out#, onde # é o número de segmentos incrementados. Por exemplo, os arquivos de saída do teste acima são de c:\temp\test_data.txt_out1 até c:\temp\test_data.txt_out6.
A linguagem de criação de scripts da Ferramenta de teste inclui os comandos na tabela a seguir para controlar a saída do arquivo de script. Consulte a figura a seguir para obter um exemplo de arquivo de controle de segmentos.
Comando
| Descrição
|
.report | Gera um relatório final (como um arquivo de saída) resumindo os resultados do teste. O relatório não inclui o status da solicitação de cada servidor. Esse é o padrão. |
.reportspread | Gera um arquivo contendo um relatório de disseminação de tempo de resposta. O nome do arquivo é command_script _stats_spread (por exemplo, isprotected-record.txt_stats_spread). |
.output | Gera um relatório final (como um arquivo de saída) resumindo os resultados gerais, incluindo o status da solicitação de cada servidor. |
.viewstats | Exibe as estatísticas finais em um editor de texto. |
.verbose | Gera arquivos de saída contendo detalhes da solicitação de cada servidor. |
.brief | Gera arquivos de saída contendo os resultados resumidos da solicitação de cada servidor. Essa opção é válida apenas quando é usada com o comando .output. |
.sleep | Permite que a Ferramenta de teste pause por um tempo especificado (em milissegundos). Isso simula solicitações de servidor intermitentes. |
.userselectionmode | Determina se os nomes de usuário são usados de maneira sequencial ou selecionados aleatoriamente. Os valores válidos são 0 (sequencial) e 1 (aleatório). Para obter mais informações, consulte (Opcional) Configurar como o teste manipula nomes de usuários. |
.randomseed | Permite que a sequência pseudoaleatória de nomes seja repetida (até a ordenação de segmentos) para cada teste. Para obter mais informações, consulte (Opcional) Configurar como o teste manipula nomes de usuários. |
.connect settings_file
| Inicializa a Ferramenta de teste usando as informações do arquivo de configurações da Ferramenta de teste para definir um teste de vários segmentos com um agente simulado. O teste padrão de vários segmentos abrange vários agentes simulados com um agente simulado por segmento. Também é possível configurar um teste com um agente simulado e vários segmentos usando essa opção. |
.disconnect | Cancela a inicialização da Ferramenta de teste para indicar o fim de um teste de vários segmentos com agente simulado. |
Arquivo de controle de segmento de exemplo
.output.connect c:\test\smtest.ini.briefc:\temp\test_data1.txt, 2, 3.verbose.sleep 5000c:\temp\test_data1.txt, 2, 2.briefc:\temp\test_data1.txt, 3, 4.connect smtest.inic:\temp\test_data1.txt, 5, 6.disconnect
Executar um teste de estresse usando um arquivo de controle de segmentos
Use o modo de teste de reprodução avançada para executar um teste de estresse definido em um arquivo de controle de segmentos.
Siga estas etapas:
- Selecione Reprodução avançada na caixa de grupo Modo.
- Insira o nome do arquivo de controle de segmentos no campo Controle.
- Na caixa de grupo Comando, clique em Executar script.A Ferramenta de teste executa o arquivo de controle de segmentos e cria o arquivo de script de saída.
(Opcional) Configurar como o teste manipula nomes de usuários
As três parâmetros seguintes definem como um teste manipula nomes de usuários.
- 34 UserCount:(Definido no arquivo de script de comando.) Especifica o número de usuários do formato AAAAAA, BAAAAA, até ZZZZZZ que o teste usa para autenticação e autorização. Se o parâmetro UserCount: estiver definido, o parâmetro UserName: será ignorado.Observaçãoembora seja ignorado, o parâmetro UserName: ainda é necessário. Não o exclua.Adicione o parâmetro UserCount: usando o mesmo formato dos outros parâmetros no arquivo de script de comandos. Após isso, insira o nome do parâmetro completo (incluindo o prefixo 34) e o valor do parâmetro começando na coluna 24 da linha.Por exemplo:34 UserCount: 1000
- .userselectionmode(Definido no arquivo de controle de segmentos) Determina se os nomes de usuário são selecionados em sequência ou de forma aleatória. Os valores válidos comportam 1 e 2.Se definido como1, as etapas de teste percorrem sequencialmente os nomes de usuários até que o valor especificado pelo parâmetro UserCount seja atingido. Então, os nomes de usuário regressam para AAAAAA até que todas as repetições sejam concluídas ou o tempo seja decorrido.Se definido como2(o padrão), os usuários são selecionados aleatoriamente.
- .randomseed(Definido no arquivo de controle de segmentos) Se configurado com um valor de número inteiro diferente de zero, é gerado um conjunto ordenado de nomes de usuário de modo aleatório no intervalo AAAAAA até que o nome de usuário indexado pelo valor do parâmetro UserCount. Isso permite que a sequência pseudoaleatória de nomes seja repetida (até a ordenação de segmentos) para cada teste.Se .randomseed não for especificado, será usada a hora atual.
(Opcional) Simular uma carga constante
Para simular uma carga constante na qual as solicitações são enviadas para o servidor de políticas a uma taxa constante, configure o seguinte parâmetro no arquivo de controle de segmentos.
- .sleepbetweenrequestsEspecifica a quantidade de tempo de suspensão (em milissegundos) entre cada solicitação para o servidor de políticas em cada segmento.
Por exemplo, se o parâmetro .sleepbetweenrequests for definido como 5 (milissegundos), então, solicitações serão enviadas para o servidor de política aproximadamente 200 vezes por segundo em cada segmento.
Observação
a taxa de solicitação real pode ser influenciada pelos seguintes fatores: tempo que as solicitações levam para serem concluídas, a quantidade de tempo da CPU que cada segmento obtém e fatores externos.(Opcional) Gravar resultados do teste de reprodução para um arquivo CSV
Você pode configurar a Ferramenta de teste para gravar todos os resultados do teste de reprodução para um arquivo de valores separados por vírgula (CSV) configurando a seguinte variável de ambiente do sistema:
- SMTESTCSVFILEEspecifica o nome do caminho do arquivo CSV para os quais a Ferramenta de teste deve gravar os resultados do teste de reprodução. Os resultados do teste de reprodução são gravados em formato separado por vírgulas para o arquivo especificado por uma linha de cabeçalho no início.Se o arquivo já existir, o arquivo será anexado. Se o arquivo de controle de segmentos especificar uma reprodução de várias gravações, os resultados são agregados.
Exibição de relatórios
Quando você executa um teste de estresse, a Ferramenta de teste gera um relatório resumindo os resultados. Esse relatório contém as seguintes informações:
- Hora de início e de término do teste
- Tempo total decorrido
- Tempo mínimo, máximo e médio da solicitaçãoObservação:os dados estão no seguinte formato de hora:Hours : minutes: seconds: milliseconds : microseconds
- Número total de solicitações
- Throughput
- O número de testes executados e seus resultados
O relatório é salvo no diretório em que o arquivo de controle de segmentos está localizado.
Observação:
o nome do relatório é o nome do arquivo de controle de segmentos com _stats anexado a ele. Por exemplo, o arquivo de controle de segmentos thread.txt gera um relatório denominado thread.txt_stats.
|