Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse

1. Introdução ao estresse

1. Introdução ao estresse

Stress é uma ferramenta de teste de estresse para Linux, que pode realizar testes de estresse na CPU, memória, IO e disco.

2. Instalação de estresse

instalação:
sudo yum install stress

Dois, uso de estresse

1. O comando de estresse

stress [OPTION [ARG]]
-c, --cpu N: Gera N processos e cada processo chama ciclicamente a função sqrt para gerar pressão da CPU.
-i, --io N: Gera N processos, cada processo chama ciclicamente sync para gravar o conteúdo do buffer de memória no disco, gerando pressão IO. A sincronização de chamada do sistema atualiza os dados no buffer de memória para o disco para garantir a sincronização. Se houver menos dados no buffer, menos dados serão gravados no disco e a pressão de E / S não será gerada. Isso é especialmente óbvio no ambiente de disco SSD. É possível que iowait seja sempre 0, mas como um grande número de chamadas para a sincronização de chamada do sistema, a taxa de uso da CPU do sistema sys aumenta.
-m, --vm N: gera N processos e cada processo chama a função malloc / free para alocar e liberar memória em um loop.
    --vm-bytes B: Especifique o tamanho da memória alocada
    --vm-stride B: Atribua valores constantemente a parte da memória para permitir que COW (cópia na gravação) ocorra
    --vm-hang N: indica que cada processo que consome memória está alocado Depois de alcançar a memória, vá dormir por N segundos, libere a memória e repita este processo
    --vm-keep: Sempre ocupa a memória, que é diferente de liberação e realocação contínuas (o padrão é liberar e realocar continuamente a memória)
-d, --hdd N: gera N processos que executam continuamente funções de gravação e desvinculação (criar arquivos, gravar conteúdo, excluir arquivos)
    --hdd-bytes B: especificar o tamanho do arquivo
--hdd-noclean: não grava dados ASCII aleatórios Desvincular
-t, --timeout N: termina o programa após N segundos        
--backoff N: aguarde N microssegundos para iniciar a execução
-q, --quiet: o programa não exibe informações durante o processo de execução
-n, - dry-run: mostra o que o programa fará sem realmente realizar as operações relacionadas
--version: exibe o número da versão
-v, --verbose: exibe informações detalhadas

2. Teste de CPU

stress --cpu 2 --timeout 60
Inicie 2 processos de CPU para realizar o cálculo sqrt, que terminará após 60 segundos
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse

3. Teste IO

stress --io 2 --timeout 60s
Iniciar 2 processos de IO, executar a chamada de sistema de sincronização, liberar o buffer de memória para o disco e
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse
usar o estresse não pode simular o aumento de iowait, mas o aumento de sys. O parâmetro stress -i indica que o sistema chama sync para simular problemas de E / S, mas sync atualiza os dados do buffer de memória para o disco para garantir a sincronização. Se não houver muitos dados no buffer de memória, não haverá muitos dados lidos e gravados no disco e a pressão de E / S não poderá ser gerada. Isso é particularmente óbvio no ambiente onde os discos SSD são usados. Iowait é sempre 0, mas devido a um grande número de chamadas do sistema, a taxa de uso da CPU do sistema sys aumenta.
stress --io 2 --hdd 2 --timeout 60s
Abra 2 processos IO, 2 processos IO de disco
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse

4. Teste de memória

stress --vm 2 --vm-bytes 1G --vm-hang 100 --timeout 100s
Inicie 2 processos para alocar memória, aloque 1 GB de memória a cada vez, libere-o após 100 segundos e saia após 100 segundos.
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse

5. Teste de IO do disco

stress --hdd 2 --hdd-bytes 10G --backoff 2000000
Inicie 2 processos de E / S de disco, grave 10 GB de dados no disco a cada vez
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse

Três, cenário de teste de estresse

1. Processos intensivos de CPU

stress --cpu 2 --timeout 600
Simule o início de dois processos intensivos da CPU para
uptime
visualizar a carga média do sistema, da seguinte forma:
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse
mpstat -P ALL 5 1
visualize o uso da CPU, da seguinte forma:
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse
pidstat -u 5
visualize a carga do processo, da seguinte forma:
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse
(1) Você pode observar a carga média mais alta do sistema durante o tempo de atividade.
(2) Observado por mpstat que o uso da CPU no modo de usuário da CPU0 e CPU2 é muito alto, e iowait é 0, indicando que o processo exige muito da CPU. O uso intensivo da CPU por processos leva a uma carga média do sistema mais alta e a um maior uso da CPU.
(3) Você pode usar o pidstat para verificar se o processo de estresse causa alto uso da CPU.

2. Processos intensivos de IO

stress -i 1 --hdd 1 --timeout 600
Simule um worker chamando sync para liberar o buffer de memória e gravar no disco.
uptime
Verifique a carga média do sistema da seguinte forma:
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse
mpstat -P ALL 5
Verifique o uso da CPU da seguinte forma:
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse
(1) Pode-se observar durante o uptime que a carga média do sistema está muito alta.
(2) Observado por mpstat que o uso da CPU no modo kernel é muito baixo, mas o iowait é muito alto e está aguardando o processamento de E / S, indicando que o processo é intensivo de E / S. Os processos frequentemente executam operações de E / S, resultando em uma alta média de carga do sistema e baixo uso da CPU.

3. Aguarde o processo da CPU

A máquina possui 4 CPUs lógicas e simula 8 processos.
stress -c 8 --timeout 600
Simule 8 processos intensivos da CPU para
uptime
visualizar a carga média do sistema, como segue:
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse
mpstat -P ALL 5
Visualize o uso da CPU, como segue:
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse
pidstat -u 5
Visualize o uso da CPU do processo, como segue:
Otimização de desempenho do Linux (1) - ferramenta de teste de estresse de estresse
(1) Observe que a carga média do sistema é alta durante o tempo de atividade
(2) ) Observado por mpstat que o uso da CPU no modo de usuário é muito alto e iowait é 0, indicando que o processo exige muito da CPU ou que há contenção da CPU entre os processos.
(3) O alto índice de espera observado por pidstat indica que há contenção de CPU entre os processos e há um grande número de processos no sistema esperando para usar a CPU.

4. Introdução ao stress-ng

1. Introdução ao stress-ng

O estresse-ng é totalmente compatível com o estresse e centenas de parâmetros opcionais são adicionados com base no estresse para apoiar a geração de vários esforços complexos.

2. Instalação de estresse

download da fonte stress-ng:
https://kernel.ubuntu.com/~cking/tarballs/stress-ng/
compilar:
make
instalar:
sudo make install

3. O comando stress-ng

stress-ng [OPTION [ARG]]
stress-ng --cpu 2 --cpu-method pi
Gere 2 trabalhadores para fazer o algoritmo pi
stress-ng --cpu 2 --cpu-method all
Geração de pressão 2 trabalhadores usam iterativamente mais de 30 algoritmos de pressão diferentes, incluindo pi, crc16, fft, etc.
stress-ng --sock 2
Gere 2 funções relacionadas ao soquete de chamada de trabalhadores para gerar pressão,
stress-ng --tsc 2
gere 2 trabalhadores lêem tsc para gerar
stress-ng --sock 4 --taskset 0-1,3
strss- ng atribuir a pressão à CPU especificada

Acho que você gosta

Origin blog.51cto.com/9291927/2593578
Recomendado
Clasificación