Apenas 2 semanas atrás eu disse-lhes sobre como medir o desempenho do seu servidor web com Apache Benchmark e, em seguida, representá-lo graficamente com GNUPlot.
Desta vez, vou falar sobre uma alternativa para o Apache Benchmark, vou falar sobre: Cerco
O que é Siege e como instalá-lo?
Com o Siege simulamos acessos a um site, ou seja, indicamos o número final de solicitações que devem ser feitas a um determinado site, quantas simultâneas, se queremos que você visite uma URL específica ou um conjunto delas, etc. No final, obtemos uma saída que nos dirá quanto tempo nosso servidor da web levou para atender a todas as solicitações, etc. No final, são os dados que nos ajudam a saber se as tarefas de otimização que podemos estar fazendo são eficazes ou não.
Para instalar o Siege, basta instalar o pacote de mesmo nome em nossa distro, no Debian, Ubuntu ou similar seria:
sudo apt-get install siege
No ArchLinux ou derivados, seria:
sudo pacman -S siege
Como usar o Siege?
Assim como no Apache Benchmark, com um parâmetro passamos todas as solicitações que ele fará e com outro indicamos o número de solicitações simultâneas:
siege --concurrent=50 --reps=100 http://www.misitio.com
De acordo com este exemplo, faremos um total de 100 solicitações, 50 simultâneas.
A saída seria mais ou menos assim:
Isso só fez solicitações ao índice do site, o mais importante a se considerar são os tempos de resposta.
O mesmo se criarmos um arquivo (urls.txt por exemplo) e nele colocamos vários URLs do mesmo site, então com o siege usamos a seguinte linha para visitar esses URLs e medir o desempenho, esta é uma prática mais real ou possível, já que nenhum humano visita 100 vezes o índice de um site em sequência 🙂
siege --concurrent=50 --reps=100 -f urls.txt
final
Até agora, não consegui representar graficamente o resultado com o GNUPlot (como fiz com o Apache Benchmark), é uma tarefa que ainda tenho em ToDo 😉
Eu tenho uma pergunta, como você mencionou, normalmente uma única pessoa não visita o mesmo url 100 ou x vezes seguidas em um período tão curto de tempo, então isso não pode ser considerado um ataque DDoS e que o mesmo servidor nos bloqueia? , assumindo, é claro, que instalamos um mínimo de segurança.
Melhores cumprimentos.
Gostei mais disso