Fa tot just 2 setmanes els vaig parlar sobre com mesurar el rendiment del seu servidor web amb Apache Benchmark, i després graficarlo amb gnuplot.
Aquesta vegada els parlaré sobre una alternativa a Apache Benchmark, els parlaré sobre: Setge
Què és Siege i com instal·lar-lo?
Amb Siege fem veure accessos a un lloc web, és a dir, li vam indicar la quantitat final de peticions que ha de fer a un lloc determinat, quantes concurrents, si volem que visiti una adreça explícita o un conjunt d'elles, etc. A la fi obtenim un output que ens dirà quant va demorar el nostre servidor web a atendre la totalitat de peticions, etc. A la fin són dades que ens ajuden a saber si les tasques d'optimització que podem estar fent, són efectives o no.
Per instal·lar Siege n'hi ha prou amb instal·lar en la nostra distro el paquet d'igual nom, en Debian, Ubuntu o similar seria:
sudo apt-get install siege
En ArchLinux o derivades seria:
sudo pacman -S siege
Com utilitzar Siege?
A l'igual que amb Apache Benchmark, amb un paràmetre li passem la totalitat de peticions que farà i amb un altre li vam indicar la quantitat de peticions simultànies:
siege --concurrent=50 --reps=100 http://www.misitio.com
Segons aquest exemple, farem un total de 100 peticions, 50 concurrents.
L'output seria més o menys així:
Això només va fer peticions a l'index de el lloc, el més important a tenir en compte són els temps de resposta.
Igual si creem un arxiu (urls.txt per exemple) I en ell posem diverses URL de al mateix lloc, després amb siege fem servir la següent línia visitarà aquestes URL i mesurarà el rendiment, això és una pràctica més real o possible, ja que cap humà visita 100 vegades el index d'un lloc de forma seguida 🙂
siege --concurrent=50 --reps=100 -f urls.txt
Final
Fins ara no he pogut graficar el resultat amb gnuplot (com sí vaig fer amb Apache Benchmark), és una tasca que encara tinc al ToT 😉
Tinc una pregunta, com bé has esmentat, normalment una sola persona no visités la mateixa URL 100 o x vegades seguides en un període de temps tan curt, llavors això no podria ser considera com un atac DDoS i que el mateix servidor ens bloquegi? , suposant clar que tinguem instal·lat un mínim de seguretat.
Salutacions cordials.
em gust, mes d'això