Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 10851|Resposta: 3

Teste de estresse do site web do Windows Apache ab

[Copiar link]
Publicado em 14/06/2018 11:14:30 | | | |
AB é uma abreviação de ApacheBench.

O comando ab cria múltiplas threads de acesso concorrentes para simular múltiplos visitantes acessando um endereço URL ao mesmo tempo. Seus alvos de teste são baseados em URL, então pode ser usado para testar tanto o estresse de carga do apache quanto outros estresses de servidores web, como nginx, lighthttp, tomcat, IIS, etc.

O comando ab tem requisitos baixos para o computador que está emitindo a carga e não consome muita CPU ou memória. No entanto, isso causará uma carga enorme no servidor alvo, e seu princípio é semelhante aos ataques CC. Você também precisa prestar atenção nos testes e no uso por conta própria, caso contrário terá carga demais de uma vez só. Isso pode fazer com que o servidor alvo fique sem recursos e, em casos graves, até mesmo causar um travamento.

1. Introdução ao Banco Apache

O ApacheBench é uma ferramenta de teste de estresse web que vem com servidores Apache, abreviado como ab. AB também é uma ferramenta de linha de comando com baixos requisitos nativos para iniciar cargas úteis, e muitas threads de acesso concorrente podem ser criadas de acordo com o comando AB, simulando múltiplos visitantes acessando um determinado endereço URL ao mesmo tempo, para que possa ser usada para testar a pressão de carga do servidor alvo. Em geral, a ferramenta AB é pequena e simples, rápida de aprender e pode fornecer os indicadores básicos de desempenho necessários, mas não há resultados gráficos e não pode ser monitorada.



2. Instalação do Banco Apache

Primeiro, você precisa instalar o servidor Apache, baixar o endereço:O login do hiperlink está visível.

Meu computador é um sistema Win10 de 64 bits, então baixei o "httpd-2.4.33-win64-VC15.zip"., link:O login do hiperlink está visível.

Recomenda-se baixar a versão mais recente, pois versões antigas do ab não suportam o parâmetro -r.

3. Uso no banco Apache

Entenda os parâmetros

Descrição do parâmetro:
Format: ab [opções] [http://]nome do host[:p ort]/path

-n solicitações Número de solicitações a serem realizadas //O número total de solicitações iniciadas neste teste
-c Concorrência Número de múltiplas solicitações a serem feitas // Número de solicitações (ou concorrência) geradas simultaneamente
-t limite de tempo Segundos para o máximo. Aguarde por Respostas //O número máximo de segundos em que um teste é realizado por padrão.
-r Não sair no socket recebe erros de recepção.     Abra uma exceção para continuar a tarefa de teste
-p postfile Arquivo contendo dados para POST // Um arquivo contendo dados que precisam ser POST, em um formato de arquivo como "p1=1&p2=2". O método de uso é -p 111.txt

-Cabeçalho tipo conteúdo T tipo conteúdo para POSTing
O cabeçalho do tipo Conteúdo é usado para os dados POST, como -T "application/x-www-form-urlencoded". (co-p)
-v verbosidade Quanta informação de solução de problemas imprimir
Defina o nível de detalhe para exibir informações – um valor de 4 ou maior mostrará informações do cabeçalho, um valor de 3 ou maior mostrará um código de resposta (404, 200, etc.), e um valor de 2 ou superior mostrará avisos e outras informações. -V exibe o número da versão e sai.
-Atributo C Adicionar cookie, por exemplo. -C "c1=1234,c2=2,c3=3" (repetível)
-C cookie-name=value Adicionar um cookie à linha request:. A forma típica é um par de parâmetros nome=valor. Esse parâmetro pode ser repetido, dividido por vírgula.
Dica: Você pode usar o princípio de implementação da sessão para passar o parâmetro JSESSIONID e alcançar a função de manter a sessão, como -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8".
-w Imprimir resultados em tabelas HTML // Resultados de saída em formato de tabela HTML. Por padrão, é uma tabela com duas colunas de largura sobre um fundo branco.
-Eu uso CABEÇA em vez de GET
-x atributos String para inserir como atributos de tabela
-y atributos String para inserir como atributos tr
-z atributos String to insert como atributos td ou th
-Atributo H Adicionar cabeçalho arbitrário, por exemplo. 'Aceitar-Codificação: gzip' Inserido após todas as linhas normais do cabeçalho. (repetível)
-Um atributo Adicionar Autenticação Básica WWW, os atributos
são um nome de usuário e senha separados por dois dois.
-P atributo Adicionar Autenticação Básica de Proxy, os atributos são um nome de usuário e senha separados por dois pontos.
-X proxi:port Proxyserver e número de porta a usar
-V Imprimir número da versão e saída
-k Use o recurso HTTP KeepAlive
-d Não mostre percentis servidos na mesa.
-S Não mostre estimadores de confiança nem avisos.
-g nome do arquivo Saída dos dados coletados para o arquivo em formato gnuplot.
-e Arquivo Saída do arquivo CSV com porcentagens servidas
-h Exibir informações de uso (esta mensagem)

Existem muitos parâmetros, geralmente podemos usar -c e -n parâmetros. Por exemplo:


Descompacte o "httpd-2.4.33-win64-VC15.zip", vá para \Apache24\bin e inicie com a linha de comando do cmd, como mostrado na figura abaixo:



SSL não compilado em; sem suporte a HTTPS: SSL não é compilado em; Não há suporte a https, o que significa que o site não suporta https.

Resultados do teste:

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com
SSL não compilado em; Sem suporte a HTTPS

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/
Este é o ApacheBench, Versão 2.3 <$Revision: 1826891 $>
Direitos autorais 1996 Adam Twiss, Zeus Technology Ltd,O login do hiperlink está visível.
Licenciado para a Apache Software Foundation,O login do hiperlink está visível.

Benchmarkingwww.itsvse.com(tenha paciência)
Concluímos 100 pedidos
Concluímos 200 pedidos
Concluímos 300 pedidos
Concluímos 400 pedidos
Concluímos 500 pedidos
Concluímos 600 pedidos
Concluímos 700 solicitações
Concluímos 800 pedidos
Concluímos 900 pedidos
Concluímos 1000 pedidos
Concluí 1000 pedidos


Software de Servidor:
Nome do Servidor Host:        www.itsvse.com
Porta do servidor: 80

Caminho do Documento: /
Comprimento do documento: 178 bytes

Nível de Concorrência: 10
Tempo necessário para os testes: 44,916 segundos
Pedidos completos: 1000
Pedidos falhados: 0
Respostas que não são do 2xx: 1000
Total transferido: 349.000 bytes
HTML transferido: 178.000 bytes
Pedidos por segundo: 22,26 [#/seg] (média)
Tempo por pedido: 449.164 [ms] (média)
Tempo por solicitação: 44,916 [ms] (média, em todas as solicitações simultâneas)
Taxa de transferência: 7,59 [Kbytes/s] recebidos

Tempos de Conexão (ms)
              Média mínima[+/-Sd] Máxima mediana
Connect:       32   45  60.1     37    1439
Processing:    35  401 185.6    356    1795
Waiting:       34  245 199.6    228    1791
Total:         69  446 195.4    397    1830

Porcentagem das solicitações atendidas dentro de determinado prazo (ms)
  50%    397
  66%    415
  75%    439
  80%    461
  90%    535
  95%    623
  98%   1563
  99%   1784
100% 1830 (pedido mais longo)

Análise de parâmetros:

Caminho do Documento: Página de Teste
Comprimento do Documento: O tamanho da página
Nível de Concorrência: Número de concorrências testadas simultaneamente
Tempo necessário para as provas: A duração total do teste
Pedidos completos: Número de solicitações concluídas
Solicitações falhadas: O número de solicitações falhadas
Erros de escrita: 0
Total transferido: A quantidade de rede transferida ao longo do processo
HTML transferido: A quantidade de conteúdo HTML transferida ao longo do processo
Solicitações por segundo: Uma das métricas mais importantes, equivalente a transações por segundo em LR, e média entre parênteses, indica que isso é uma média
Tempo por requisição: As duas métricas mais importantes, equivalentes ao tempo médio de resposta de transação em LR, a média entre parênteses indicam que isso é uma média
Tempo por requisição: A média do tempo real de execução para cada solicitação de conexão
Taxa de transferência: Tráfego médio por segundo na rede, o que pode ajudar a descartar o problema do tráfego excessivo de rede causando tempos de resposta longos





Anterior:Use expressões lambda em Linq to Entity para implementar Left Join e Join
Próximo:asp.net sufixo mapeamento de rotas mvc .html
 Senhorio| Publicado em 14/06/2018 11:16:33 |
 Senhorio| Publicado em 27/05/2019 09:17:09 |
ab -n 800 -c 800  O login do hiperlink está visível.
-nemitido800Solicitações,-cSimulação800Concorrência, equivalente a 800 pessoas visitando ao mesmo tempo, seguida pela URL do teste)
 Senhorio| Publicado em 27/05/2019 09:20:46 |
Você também pode realizar um teste de concorrência de estresse pelo Fiddler, abrir a ferramenta Fiddler e bloquear todas as solicitações, como mostrado na figura abaixo:


Selecione a sessão que deseja repetir solicitada e então pressioneshift+r, vai aparecer Repete esse pedido quantas vezes? (Quantas vezes você repete esse pedido?) )

Digite o número de vezes que você quer repetir o pedido, aqui preenchi 5, o fiddle vai ajudar você a repetir o link 5 vezes, como mostrado na figura abaixo:



Para mais dicas sobre como operar violino, consulte o manual:

Manual chinês do Fiddler .zip download
https://down.itsvse.com/item/12839.html


Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com