Cargue los servidores web de prueba con la herramienta Siege Benchmarking


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. Mediante el uso de una herramienta llamada siege, puede ejecutar una prueba de carga en su servidor y ver cómo funciona su sistema en diferentes circunstancias.

Puede usar siege para evaluar la cantidad de datos transferidos, el tiempo de respuesta, la tasa de transacción, 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 aquellos en los que tenga permiso explícito para probar. En algunos países, el uso de asedio en sitios web no autorizados puede considerarse un delito.

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

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

Para instalar Siege en Debin/Ubuntu, puede ejecutar:

$ sudo apt install siege

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

# yum install epel-release
# yum install siege

Alternativamente, puede construir el asedio desde la fuente. Para ello, necesitará tener instalados paquetes esenciales de compilación y de desarrollo.

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

Luego puede descargar Siege usando el comando wget e instalar 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 asedio. Se encuentra en/etc/siege/siegerc. En caso de que haya decidido compilar el paquete desde la fuente, deberá ejecutar:

$ sudo siege.config

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

El contenido del archivo debería verse así. Tenga en cuenta que he descomentado el archivo de registro y las directivas de tiempo:

# cat siegerc |egrep -v "^$|#"
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á listo para ejecutar su asedio.

Prueba de la carga del sitio web con la utilidad Siege Benchmarking

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

# siege example.com

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

Puede probar varias URL, estableciendo asedio 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 como esta:

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

También puede usar 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 de siege.
  • -g - OBTENER, despliega los encabezados HTTP y muestra la transacción. Útil para depurar.
  • -c : el número de usuarios simultáneos, el valor predeterminado es 10.
  • -r : cuántas veces se ejecutará la prueba.
  • -t : cuánto tiempo se tarda en ejecutar la prueba. Puede especificar S, M o H ex: –time u003d 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 : agregue un encabezado para solicitar.
  • -A : especifique un agente de usuario.
  • -T : establece el tipo de contenido en la solicitud.
  • --no-parser - NO PARSER, desactive el analizador de páginas HTML.
  • --no-follow : no siga las redirecciones HTTP.

Siege es una herramienta poderosa para medir la confiabilidad de su sistema cuando se encuentra bajo una carga alta. Los desarrolladores web pueden usarlo 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 volverse inaccesible durante la evaluación.