Siege es una utilidad de pruebas de regresión y evaluación comparativa. Permite realizar pruebas de estrés en una URL con un número definido por el usuario de usuarios simulados, o bien, cargar varias URL en memoria y someterlas a estrés simultáneamente. El programa informa del número total de accesos registrados, los bytes transferidos, el tiempo de respuesta, la concurrencia y el estado de retorno. Siege es compatible con los protocolos HTTP/1.0 y 1.1, las directivas GET y POST, las cookies, el registro de transacciones y la autenticación básica. Sus funciones son configurables por usuario. Incluye los ejecutables bombardment, siege.config y siege2csv
$ siege.config
$ siege -c200 -r50 http://localhost
El resultado puede ser algo tipo:
Transactions: 20000 hits
Availability: 100.00 %
Elapsed time: 2.87 secs
Data transferred: 85.00 MB
Response time: 0.03 secs
Transaction rate: 6968.64 trans/sec
Throughput: 29.62 MB/sec
Concurrency: 192.25
Successful transactions: 20000
Failed transactions: 0
Longest transaction: 0.05
Shortest transaction: 0.00
Availability (100.00 %) --> El 100% de las peticiones se respondieron correctamente sin ningún error.
Response time (0.03 secs) --> Tiempo medio de respuesta fue de apenas 30 milisegundos.
Transaction rate (6968.64 trans/sec) --> Velocidad de procesamiento de casi 7,000 peticiones por segundo.
Concurrency (192.25) --> De los 200 usuarios concurrentes, el servidor estuvo manteniendo casi todos activos a la vez de media (192).
Longest transaction (0.05) / Shortest (0.00) --> La petición que más tardó solo demoró 50 milisegundos, y la más rápida menos de 10 milisegundos.
$ $ siege -c500 -r100 -b http://localhost
Nota.- A partir de c255, límite de usuario concurrentes, sale la nota:
WARNING: The number of users is capped at 255. To increase this
limit, search your .siegerc file for 'limit' and change
its value. Make sure you read the instructions there..
Pero el proceso continua o bloquea la máquina.