Drupalize.Me

 A Drupalize.Me Tutorial

Siege es una herramienta de prueba de carga útil para agregar a su kit de herramientas de prueba de rendimiento. Desde el sitio web:

Siege es una utilidad de pruebas de carga HTTP y evaluación comparativa. Fue diseñado para permitir a los desarrolladores web medir su código bajo coacción, para ver cómo se levantará para cargarse en Internet. Siege admite autenticación básica, cookies, protocolos HTTP, HTTPS y FTP. Permite a su usuario acceder a un servidor con un número configurable de clientes simulados. Esos clientes ponen el servidor «bajo asedio».»

Las pruebas de carga son útiles para probar el rendimiento de su sitio y la infraestructura en la que se ejecuta. No hay nada peor que tener una página en tu sitio publicada en un sitio popular y ver cómo tu sitio se desmorona bajo la carga. Siege puede simular la actividad en su sitio, y luego puede usar su sitio desde su navegador como lo haría normalmente, mientras se ejecuta su sitio y realmente tener una idea de cómo responde su sitio bajo carga.

Esta entrada de blog cubrirá la instalación de Siege en OS X y Linux, y la ejecución de una prueba de carga básica con Siege.

Suposiciones

Este tutorial asume que se siente cómodo usando la línea de comandos para emitir comandos básicos y tener un sitio web instalado en su máquina local que puede probar.

Instalar Siege

Descargar

Primero, dirígete a https://www.joedog.org/siege-home/ y busca la URL de un archivo de la última versión de la aplicación Siege. En el momento de escribir este artículo, esa es la versión de Asedio 3.1.0.

Guardar

Ahora abra la aplicación de terminal, guardaremos este archivo en nuestro directorio de descargas.

En OS X
cd ~/Downloadscurl -O http://download.joedog.org/siege/siege-3.1.0.tar.gz
En Linux
cd ~/Downloadswget http://download.joedog.org/siege/siege-3.1.0.tar.gz

Extraer el archivo

tar -xvf siege-3.1.0.tar.gz

Cambio en el directorio de archivo

cd siege-3.1.0

Configurar y construir!

./configuremakemake install

Lea los documentos

Si es necesario, consulte las Instrucciones de instalación completas.

Verificar la versión instalada

Genial, ahora podemos probar que tenemos siege instalado correctamente, vamos a verificar la versión que hemos instalado en nuestro sistema.

siege -VSIEGE 3.1.0

Hurra, tenemos la versión 3.1.0 de siege instalado en nuestro sistema, ¡vamos a hacer algunas pruebas!

Pruebas de carga Con Siege

Voy a usar un sitio de Drupal que he instalado localmente para probar la carga. Para iniciar un asedio básico, ejecute el siguiente comando utilizando la URL del sitio que desee (estoy usando http://drupal7.local):

siege http://drupal7.local

Esto iniciará asedio con las opciones predeterminadas, que son 15 usuarios concurrentes que acceden a la página de índice de su sitio, hasta que detenga el asedio, presionando control+c.

Esto proporcionará las estadísticas de asedio para su prueba:

Lifting the server siege... done.Transactions: 385 hitsAvailability: 100.00 %Elapsed time: 76.02 secsData transferred: 0.84 MBResponse time: 2.40 secsTransaction rate: 5.06 trans/secThroughput: 0.01 MB/secConcurrency: 12.18Successful transactions: 385Failed transactions: 0Longest transaction: 5.73Shortest transaction: 0.31

Interpretar los resultados de una prueba de carga

Ahora, en primer lugar, mis resultados no son tan impresionantes, ya que estoy ejecutando esto en una máquina virtual de baja potencia en mi máquina local, si está probando sitios de producción de carga, debería esperar tiempos de respuesta mucho más rápidos.

Terminología

Las transacciones son el número de visitas al servidor. En el ejemplo, 385 transacciones.

El tiempo transcurrido es la duración de toda la prueba de asedio. Esto se mide desde el momento en que el usuario invoca siege hasta que el último usuario simulado completa sus transacciones. Como se muestra arriba, la prueba tardó 76,02 segundos en completarse.

Los datos transferidos son la suma de datos transferidos a cada usuario simulado de asedio. Incluye la información del encabezado, así como el contenido. Debido a que incluye información de encabezado, el número reportado por siege será mayor que el número reportado por el servidor. En el modo de Internet, que llega a direcciones URL aleatorias en un archivo de configuración, se espera que este número varíe de una ejecución a otra.

El tiempo de respuesta es el tiempo promedio que se tarda en responder a las solicitudes de cada usuario simulado.

La tasa de transacciones es el número promedio de transacciones que el servidor pudo manejar por segundo, en pocas palabras: transacciones divididas por el tiempo transcurrido.

El rendimiento es el número medio de bytes transferidos cada segundo desde el servidor a todos los usuarios simulados.

La concurrencia es el número promedio de conexiones simultáneas, un número que aumenta a medida que disminuye el rendimiento del servidor.

Las transacciones exitosas son el número de veces que el servidor devolvió un código inferior a 400. En consecuencia, las redirecciones se consideran transacciones exitosas.

Probando varias páginas

Para probar varias URL, podemos usar un archivo de URL para proporcionar una lista de URL para probar durante nuestro asedio. Crea un archivo de texto llamado urls.txt, y agregue las URL con las que desea probar (una por línea), estoy creando la mía en el directorio personal de mi usuario en ~/urls.txt

Siege entiende el siguiente formato de URL:

# Comments proceeded by a hashhttp://drupal7.local/http://drupal7.local/node/2http://drupal7.local/node/7http://drupal7.local/rest/node

Ahora puede iniciar siege y proporcionar la ruta al archivo que creó, para iniciar una prueba con esas URL:

siege -f /path/to/your/urls.txt

Modo Internet

El modo Internet es otra opción interesante en Siege, en la que cada URL que un usuario golpea en la prueba es aleatoria. Esto imita una situación de la vida real en la que no puedes predecir qué URL visitará una persona en tu sitio. La otra implicación de esta opción es que no hay garantía de que cada página en el archivo de texto de las URL sea alcanzada, debido a la aleatorización.

Para iniciar un asedio en modo internet, utilice el siguiente comando, pasando de nuevo la ruta de acceso de sus URL.txt:

siege -if /path/to/your/urls.txt

Aumentar el Número de Usuarios simultáneos

Aumentar el número de usuarios simultáneos se hace con el indicador-c, pasando el número de usuarios simultáneos con los que desea probar:

siege -if /path/to/your/urls.txt -c 500
' -c NUM '' –concurrent=NUM '

Usuarios simultáneos (requiere argumento): Esta opción permite al usuario hacer hincapié en el servidor web con el número de usuarios simulados. La cantidad está limitada solo por los recursos informáticos disponibles, pero, de manera realista, un par de cientos de usuarios simulados es igual a muchas veces ese número en las sesiones de usuario reales. El número que seleccione representa el número de transacciones que está gestionando su servidor. NO representa el número de sesiones simultáneas. Recuerda, los usuarios reales se toman un tiempo para leer la página que han solicitado.

También es útil usar la bandera-d que le permite escalonar las transacciones:

siege -if /path/to/your/urls.txt -c 500 -d 3
' -d NUM '' –delay=NUM 'Each siege simulated user is delayed for a random number of seconds between one and NUM. If you are benchmarking performance, it is recommended that you use a 1 second delay ( -d1 ). The default value is three (3 ). This delay allows for the transactions to stagger rather then to allow them to pound the server in waves.

Siege tiene mucho más que ofrecer, y te insto a que leas la documentación en su totalidad para obtener una comprensión más completa, pero espero que este tutorial te ayude a seguir tu camino.

Si necesita sitiar páginas que requieren autenticación como usuario de Drupal, consulte este script auxiliar: https://github.com/msonnabaum/DrupalSiege

Desinstalación de Siege y limpieza

Si decides que ya no quieres tener Siege instalado en tu sistema, primero desinstálalo y, a continuación, elimina el directorio de origen y los archivos:

Cambia al directorio al que descargaste Siege:

cd ~/Downloads/siege-3.1.0/make uninstall

Ahora puede eliminar de forma segura la carpeta de origen y el archivo en:

~/Downloads/siege-3.1.0~/Downloads/siege.-3.1.0.tar.gz

Mucho ruido y pocas nueces sobre el rendimiento

Si su sitio siente que está funcionando mal mientras está sitiado, ¡querrá averiguar por qué! Algunas cosas para comprobar:

  • Carga del servidor
  • ¿Ha implementado algún almacenamiento en caché?

Deja una respuesta

Tu dirección de correo electrónico no será publicada.