|
Princípio do Comando AB O comando ab do Apache simula requisições concorrentes multithread para testar a pressão de carga do servidor, assim como outros servidores web como nginx, lighthttp e IIS. Apache附带的ab工具(使用的PHP环境是WAMP集成环境,ab工具位于D:wampinapacheApache2.2.21in)非常容易使用。 O comando ab tem requisitos muito baixos para o computador que emite a carga, e não vai consumir muita CPU nem muita memória, mas causa uma carga enorme no servidor alvo, então é um remédio necessário para alguns ataques DDOS, adequado para todas as idades. Você também deve ter cuidado ao usá-la. Caso contrário, carga excessiva de uma vez fará com que o servidor alvo morra diretamente por exaustão de memória e precise ser reiniciado forçadamente, o que não vale a pena a perda. Em caso de largura de banda insuficiente, é melhor testar localmente, e recomenda-se usar outro ou vários servidores na intranet para testar através da intranet, para que os dados obtidos sejam muito mais precisos. Testar servidores web remotamente frequentemente resulta ineficaz (devido a latência excessiva da rede ou largura de banda insuficiente) Baixar e Instalar:
http://mirror.bit.edu.cn/apache//httpd/binaries/win32/?C=M;O=A Encontre httpd-2.2.21-win32-x86-no_ssl.msi Documentação de Parâmetros:
http://httpd.apache.org/docs/2.2/programs/ab.html
Operação: No Windows, abra a janela da linha de comando do cmd e localize-a no diretório bin do diretório de instalação do apache cd C:Program Files (x86)Apache Software FoundationApache2.2in Digite o comando: ab -n 800 -c 800 http://192.168.0.10/ (-n faz 800 solicitações, -c simula 800 concorrências, equivalente a 800 pessoas visitando ao mesmo tempo, seguido pela URL do teste) ab -t 60 -c 100 http://192.168.0.10/ Envie pedidos em até 60 segundos, 100 pedidos por vez.
//如果需要在url中带参数,这样做 ab -t 60 -c 100 -T "texto/plano" -p p.txt http://192.168.0.10/hello.html p.txt é e ab.exe em um diretório p.txt, você pode escrever parâmetros como p=wdp&fq=78
Explicação dos parâmetros resultantes: Este é o ApacheBench, Versão 2.3 <$Revision: 655654 $> Direitos autorais 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licenciado para a Apache Software Foundation, http://www.apache.org/ Benchmarking 192.168.0.10 (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 Finalizei 800 pedidos
Software de Servidor: Microsoft-HTTPAPI/2.0 indica o nome do software do servidor web que está sendo testado Nome do servidor Hostname: 192.168.0.10 Indica o nome de host da URL da solicitação Porta do servidor: 80 indica a porta de escuta do software do servidor web que está sendo testado
Caminho do Documento: / representa o caminho absoluto raiz na URL da requisição, e geralmente podemos entender o tipo de requisição pelo nome do sufixo do arquivo Comprimento do Documento: 315 bytes representa o comprimento do corpo dos dados de resposta HTTP Nível de Concorrência: 800 representa o número de usuários concorrentes, que é um dos parâmetros que definimos Tempo necessário para os testes: 0,914 segundos O tempo que todas essas solicitações levam para concluir o processamento Pedidos concluídos: 800 pedidos concluídos Pedidos falhados: 0 O número de pedidos falhados Erros de escrita: 0 Respostas não-2xx: 800 Total transferido: 393600 bytes Total de transferência de rede HTML transferido: 252000 bytes conteúdo HTML transferido Solicitações por segundo: 875,22 [#/seg] (média) Taxa de transferência - Solicitações por segundo Tempo por requisição: 914.052 [ms] (médio) O tempo que o servidor leva para responder à solicitação e responder à página Tempo por requisição: 1,143 [ms] (média, em todas as solicitações concorrentes) O tempo médio consumido por solicitação concorrente Taxa de transferência: 420,52 [Kbytes/seg] recebido em média de tráfego por segundo na rede, o que pode ajudar a descartar o problema do tráfego excessivo de rede causando longos tempos de resposta Divisão do tempo consumido na rede: Tempos de conexão (ms) médio médio[+/-sd] médio máximo
Connect: 0 1 0.5 1 3
Processing: 245 534 125.2 570 682
Waiting: 11 386 189.1 409 669
Total: 246 535 125.0 571 684
A resposta de todos os pedidos durante o cenário. Em um cenário, cada requisição tem um tempo de resposta 50% desses usuários têm tempo de resposta inferior a 571 milissegundos 80% dos usuários têm tempo de resposta inferior a 652 ms O tempo máximo de resposta é inferior a 684 ms Porcentagem das solicitações atendidas dentro de determinado prazo (ms) 50% 571 66% 627 75% 646 80% 652 90% 666 95% 677 98% 681 99% 682 100% 684 (pedido mais longo) Essa parte dos dados é usada para descrever a distribuição do tempo de processamento de cada requisição, por exemplo, no teste acima, 80% do tempo de processamento da requisição não ultrapassa 6ms, esse tempo de processamento refere-se ao tempo anterior por requisição, ou seja, para um único usuário, o tempo médio de processamento por requisição.
|