Apache Bench - Visão geral
O teste de desempenho provou ser crucial para o sucesso de um negócio. Um site com baixo desempenho não apenas enfrenta perdas financeiras, mas também pode levar a repercussões legais às vezes.
Ninguém quer tolerar um site de desempenho lento e não confiável em interações online importantes, como compras, realização de testes online, pagamento de contas, etc. Com a Internet tão amplamente disponível, a gama de alternativas é imensa. É mais fácil perder clientela do que ganhá-la, e o desempenho é um fator chave para mudar o jogo.
Necessidade de uma ferramenta de teste de carga
Se pudermos entender qual é a necessidade de uma ferramenta de teste de carga, isso nos dará o motivo e a motivação para usá-la. Alguns sites de negócios famosos sofreram sérios períodos de inatividade ao receberem um grande número de visitantes. Os sites de comércio eletrônico investem pesadamente em campanhas publicitárias, mas não em testes de carga. Portanto, eles falham em garantir o desempenho ideal do sistema, quando esse marketing traz tráfego.
Outro exemplo familiar de ignorar o teste de carga é o “erro ao estabelecer conexão” em sites WordPress. Portanto, é uma boa ideia fazer o teste de carga de um site ou aplicativo antes de sua implantação na produção. É bom estabelecer rapidamente um cenário de melhor caso para um projeto antes de executar testes mais detalhados no futuro.
O que é o Apache Bench?
Apache Bench (ab) é uma ferramenta da organização Apache para benchmarking de um servidor da web Hypertext Transfer Protocol (HTTP). Embora seja projetado para medir o desempenho do servidor da web Apache, ele também pode ser usado para testar qualquer outro servidor da web que seja igualmente bom. Com essa ferramenta, você pode saber rapidamente quantas solicitações por segundo seu servidor da web é capaz de atender.
Recursos do Apache Bench
Vamos ver os recursos e limitações importantes do Apache Bench. Os recursos e limitações estão listados abaixo -
Por ser um software de código aberto, está disponível gratuitamente.
É um programa de computador de linha de comando simples.
É uma ferramenta independente de plataforma. Isso significa que pode ser invocado no Linux / Unix ou no servidor Windows da mesma forma.
Ele pode realizar testes de carga e desempenho apenas para o servidor web - HTTP ou HTTPS.
Não é extensível.
O Apache Bench usa apenas um encadeamento do sistema operacional, independentemente do nível de simultaneidade (especificado pelo sinalizador -c). Portanto, ao comparar servidores de alta capacidade, uma única instância do Apache Bench pode ser um gargalo. Para saturar completamente o URL de destino, é melhor usar instâncias adicionais do Apache Bench em paralelo, se seu servidor tiver vários núcleos de processador.
Precaução
Você precisa estar ciente de que não há nenhuma diretiva no Apache Bench para aumentar a simultaneidade em intervalos específicos durante a execução de testes. Portanto, a execução de testes de carga usando ab é equivalente a um ataque de negação de serviço (DOS). É recomendável que você informe e obtenha permissão prévia do seu provedor de serviços VPS se for fazer testes de carga pesada por um longo período de tempo. Eles irão atribuir um intervalo de tempo apropriado ou mudar seu nó para a tarefa de teste de carga.
Em segundo lugar, se você estiver testando o site de uma terceira pessoa continuamente e por um longo tempo apenas para aprender o Apache Bench de seu VPS (que se torna o nó de teste), há uma possibilidade remota de que seu IP público VPS possa ser bloqueado pelo site da terceira pessoa permanentemente. Nesse caso, você não poderá se conectar a esse site com o mesmo IP. Mas se você realmente deseja se conectar ao site no futuro, a única solução será conversar com o administrador do sistema do site de destino ou criar uma nova instância do servidor com um IP diferente com a ajuda do seu provedor de serviços VPS.
Tendo avisado você, deixe-me assegurar-lhe que todos os testes neste tutorial são seguros o suficiente e fora do que os administradores de sistema geralmente chamam de práticas de "abuso do sistema".