Siege es una prueba de regresión y una utilidad de referencia de código abierto. Puede realizar pruebas de estrés en una única URL con un número definido por el usuario de usuarios simulados, o puede leer muchas URL en la memoria y estresarlas simultáneamente. El programa informa el número total de visitas registradas, bytes transferidos, tiempo de respuesta, simultaneidad y estado de devolución. Siege admite los protocolos HTTP/1.0 y 1.1, las directivas GET y POST, cookies, registro de transacciones y autenticación básica. Sus características son configurables por usuario.
La mayoría de las funciones se pueden configurar con opciones de línea de comando que también incluyen valores predeterminados para minimizar la complejidad de la invocación del programa. Siege le permite estresar un servidor web con n número de usuarios t número de veces, donde n y t están definidos por el usuario. Registra el tiempo de duración de la prueba, así como la duración de cada transacción. Informa la cantidad de transacciones, el tiempo transcurrido, los bytes transferidos, el tiempo de respuesta, la tasa de transacciones, la concurrencia y la cantidad de veces que el servidor respondió OK, es decir, el código de estado 200.
Siege fue diseñado e implementado por Jeffrey Fulmer en su puesto de webmaster de Armstrong World Industries. Fue modelado en parte a partir de tortura.pl de Lincoln Stein y sus informes de datos son casi idénticos. Pero tortura.pl no permite resaltar muchas URL simultáneamente; de esa necesidad nació el asedio....
Cuando el programa ataca un servidor HTTP, se dice que está "bajo asedio".
Siege fue escrito tanto para desarrolladores web como para administradores de sistemas web. Permite a esas personas probar sus programas y sus sistemas bajo presión. Como profesional web, usted es responsable de la integridad de su producto, pero no tiene control sobre quién accede a él. Los picos de tráfico pueden ocurrir en cualquier momento. ¿Cómo sabes si estás preparado?
Siege le permitirá poner esos programas bajo presión, para que pueda comprender mejor la carga que pueden soportar. Dormirá mejor sabiendo que su sitio puede soportar el peso de 400 transacciones simultáneas si su sitio actualmente alcanza un máximo de 250.
Una transacción se caracteriza porque el servidor abre un socket para el cliente, maneja una solicitud, entrega datos a través del cable y cierra el socket al finalizar. Es importante tener en cuenta que los usuarios HUMANOS de Internet se toman tiempo para digerir los datos que les llegan. Los usuarios de asedio no lo hacen. En la práctica, descubrí que 400 usuarios de asedio simultáneos se traducen en al menos cinco veces esa cantidad en sesiones reales de Internet. Es por eso que siege te permite establecer un retraso ( --delay=NUM ). Cuando se configura, cada usuario de asedio duerme durante un número aleatorio de segundos entre 1 y NUM. A través de los registros de su servidor, debería poder obtener la cantidad promedio de tiempo dedicado a una página. Se recomienda que utilice ese número para su retraso al simular la actividad de Internet.
La última versión de Siege se puede obtener a través de FTP anónimo: http://download.joedog.org/siege/siege-latest.tar.gz
El repositorio de origen se encuentra en GitHub: git clone https://github.com/JoeDog/siege.git
Puede verlo en su navegador aquí: https://github.com/JoeDog/siege
Las actualizaciones y anuncios se distribuyen a través de JoeDog: http://www.joedog.org/
Siege fue construido con GNU autoconf. Si está familiarizado con el software GNU, entonces debería sentirse cómodo instalando Siege. Consulte el archivo INSTALL para obtener más detalles.
Para habilitar la compatibilidad con HTTPS, debe instalar openssl y openssl-devel en su sistema.
Para habilitar la codificación de transferencia gzip, necesitará tener instalados zlib y zlib-devel en su sistema.
Todos los requisitos previos deben instalarse en el momento de la compilación. Si agrega las bibliotecas después de compilar siege, tendrá que ejecutar ./configure, make y make install nuevamente.
Los requisitos previos del asedio no son dependencias. Si estas bibliotecas no están presentes, la aplicación aún se compilará y funcionará. Simplemente no contendrá estas funcionalidades.
La documentación está disponible en las páginas de manual siege(1) layingsiege(1). Se incluye un manual en html con esta distribución: manual.html
La documentación completa sobre el asedio se puede encontrar en www.joedog.org
Consulte el archivo COPIANDO para obtener información completa sobre la licencia.
Copyright (C) 2000-2023 por Jeffrey Fulmer [email protected]
Se concede permiso a cualquier persona para realizar o distribuir copias textuales de este documento tal como lo recibió, en cualquier medio, siempre que se conserven el aviso de derechos de autor y este aviso de permiso, otorgando así al destinatario permiso para redistribuirlo a su vez.
Se concede permiso para distribuir versiones modificadas de este documento, o de partes del mismo, bajo las condiciones anteriores, siempre que lleven avisos destacados que indiquen quién los modificó por última vez.
Además, como excepción especial, los titulares de los derechos de autor dan permiso para vincular el código de partes de este programa con la biblioteca OpenSSL bajo ciertas condiciones como se describe en cada archivo fuente individual, y distribuir combinaciones vinculadas que incluyan los dos.
Debe obedecer la Licencia Pública General GNU en todos los aspectos para todo el código utilizado que no sea OpenSSL. Si modifica archivos con esta excepción, puede extender esta excepción a su versión de los archivos, pero no está obligado a hacerlo.
Si no desea hacerlo, elimine esta declaración de excepción de su versión. Si elimina esta declaración de excepción de todos los archivos fuente del programa, elimínela también aquí.