Servidores web de pruebas de carga con herramienta de evaluación comparativa de asedio


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

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

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

Siege es multiplataforma y se puede instalar en las distribuciones Ubuntu/Debian y CentOS/RHEL con 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, puedes construir el Asedio desde la fuente. Para ello, necesitará tener build-essential y paquetes de desarrollo instalados.

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

Luego puede descargar Siege utilizando 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

Configurando la utilidad de prueba de carga HTTP de asedio en Linux

Una vez que haya completado la instalación, puede ajustar el archivo de configuración de sitio . Se encuentra en /etc/siege/siegerc . En caso de que haya decidido compilar el paquete desde la fuente, tendrá que ejecutar:

$ sudo siege.config

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

El contenido del archivo debe verse algo como esto. Tenga en cuenta que no tengo comentarios sobre las directivas logfile y time :

# 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 concurrentes durante 1 minuto.

Ahora estás listo para ejecutar tu asedio.

Prueba de carga del sitio web con Siege Benchmarking Utility

Ejecutar sitio es bastante fácil, solo 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 vigilar el tiempo de respuesta.

Puedes probar múltiples URL, configurando asedio para leerlas del archivo. Puede describir las URL en /usr/local/etc/urls.txt de esta manera:

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

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

También puede usar las opciones de la línea de comandos, si desea probar diferentes configuraciones de las que se describen en el archivo de configuración.

  • -C – specify your own configuration file.
  • -q – suppresses siege’s output.
  • -g – GET, pull down HTTP headers and display the transaction. Useful for debugging.
  • -c – the number of concurrent users, default is 10.
  • -r – how many times to run the test.
  • -t – how much time to run the test. You can specify S, M, or H ex: –time=10S for 10 seconds.
  • -d – random delay before each request.
  • -b – no delays between requests.
  • -i – user simulation. Uses to hit random URLs.
  • -f – test URLs from specified file.
  • -l – log file.
  • -H – Add a header to request.
  • -A – specify a user agent.
  • -T – Sets Content-Type in request.
  • --no-parser – NO PARSER, turn off the HTML page parser.
  • --no-follow – do not follow HTTP redirects.

Siege es una herramienta poderosa para medir la confiabilidad de su sistema cuando está bajo una carga alta. 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.