Búsqueda de sitios web

Prueba de carga de servidores web con la herramienta de evaluación comparativa Siege


Saber cuánto tráfico puede manejar su servidor web cuando está bajo estrés es esencial para planificar el crecimiento futuro de su sitio web o aplicación. Al utilizar la herramienta llamada siege, puede ejecutar una prueba de carga en su servidor y ver cómo funciona su sistema en diferentes circunstancias.

Puede utilizar siege para evaluar la cantidad de datos transferidos, el tiempo de respuesta, la tasa de transacciones, el rendimiento, la simultaneidad y cuántas veces el servidor devolvió respuestas. La herramienta tiene tres modos en los que puede operar: regresión, simulación de Internet y fuerza bruta.

Importante: Siege solo debe ejecutarse en servidores de su propiedad o en servidores en los que tenga permiso explícito para probar. En algunos países, utilizar el asedio en sitios web no autorizados puede considerarse un delito.

Instalación de la utilidad de prueba de carga HTTP Siege en Linux

Siege es multiplataforma y se puede instalar en distribuciones Ubuntu/Debian y CentOS/RHEL usando los siguientes comandos.

Para instalar Siege en Debin/Ubuntu, puede ejecutar:

sudo apt install siege

Para CentOS/RHEL, necesita instalar y habilitar el repositorio para instalar siege con:

yum install epel-release
yum install siege

Alternativamente, puedes construir el Siege desde la fuente. Para ello necesitarás tener instalados los paquetes build-essential y de desarrollo.

sudo apt install build-essential       #Ubuntu/Debian
yum groupinstall 'Development Tools'   #CentOS/RHEL

Luego puedes descargar Siege usando el comando wget e instalarlo desde las fuentes como se muestra.

wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-*/
sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
sudo make && make install

Configuración de la utilidad de prueba de carga HTTP de Siege en Linux

Una vez que haya completado la instalación, puede ajustar su archivo de configuración de siege. Está ubicado en /etc/siege/siegerc. En caso de que hayas decidido construir el paquete desde el código fuente, tendrás que ejecutar:

sudo siege.config

Esto generará el archivo siege.conf ubicado en la página de inicio de su usuario ~/.siege/siege.conf.

El contenido del archivo debería verse así. Tenga en cuenta que he descomentado las directivas logfile y time:

cat siegerc |egrep -v "^$|#"
Salida de muestra
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true

Con la configuración actual, siege imitará a 25 usuarios simultáneos durante 1 minuto.

Ahora estás listo para ejecutar tu asedio.

Prueba de carga del sitio web con la utilidad Siege Benchmarking

Ejecutar siege es bastante fácil, sólo necesita especificar el sitio web que desea probar de esta manera:

siege example.com

Si la disponibilidad permanece en 100% y no hay conexiones fallidas, su sistema funcionó bien y no hubo problemas. También debes estar atento al tiempo de respuesta.

Ejecute Siege contra varios sitios web

Puede probar varias URL configurando siege para leerlas desde el archivo. Puede describir las URL en /usr/local/etc/urls.txt así:

Ahora, para decirle a siege que pruebe las URL del archivo, use la opción -f de esta manera:

siege -f /usr/local/etc/urls.txt

También puede utilizar las opciones de la línea de comandos, si desea probar configuraciones diferentes a las descritas en el archivo de configuración.

  • -C: especifique su propio archivo de configuración.
  • -q – suprime la salida del asedio.
  • -g: OBTENER, desplegar encabezados HTTP y mostrar la transacción. Útil para depurar.
  • -c: el número de usuarios simultáneos, el valor predeterminado es 10.
  • -r: cuántas veces ejecutar la prueba.
  • -t: cuánto tiempo se tarda en ejecutar la prueba. Puede especificar S, M o H, por ejemplo: –time=10S durante 10 segundos.
  • -d: retraso aleatorio antes de cada solicitud.
  • -b: sin demoras entre solicitudes.
  • -i – simulación de usuario. Se utiliza para acceder a URL aleatorias.
  • -f: prueba las URL del archivo especificado.
  • -l – archivo de registro.
  • -H: agrega un encabezado a la solicitud.
  • -A: especifique un agente de usuario.
  • -T: establece el tipo de contenido en la solicitud.
  • --no-parser – SIN PARSER, desactiva el analizador de páginas HTML.
  • --no-follow: no siga las redirecciones HTTP.
Conclusión

Siege es una poderosa herramienta para medir la confiabilidad de su sistema cuando se encuentra bajo una carga elevada. Los desarrolladores web pueden utilizarlo para probar su código cuando el sitio está bajo presión. Siempre debe ejecutar sus pruebas con precaución ya que el servidor probado puede quedar inaccesible durante la evaluación.