Siege: cómo comparar su servidor

¿Qué es el asedio?

Siege es una herramienta de evaluación comparativa y prueba de regresión http/https de host remoto que se puede usar para probar el rendimiento de su servidor web bajo coacción para ver cómo funcionará.

Permite un admin o propietario del servidor para simular visitas o conexiones a un servidor web con un número preconfigurado de conexiones simultáneas de usuarios simulados. Al utilizar este software, estos usuarios simulados apuntan al servidor y lo colocan “ bajo gana ” de ahí el nombre. El tiempo del asedio se mide en:

  • Actas
  • El número de usuarios simulados
  • La cantidad de veces que cada usuario falso repite el proceso de intentar conectarse al servidor

Por lo tanto, si 20 usuarios simulados realizan 50 solicitudes simultáneas, esto equivaldría a 1000 eventos.

Las medidas de rendimiento incluyen:

  • El tiempo transcurrido de la prueba
  • La cantidad de información transferida
  • El tiempo de respuesta del servidor.
  • La tasa de transacción
  • el rendimiento
  • El nivel de concurrencia
  • La cantidad de veces que devolvió una respuesta 200 OK

Estas acciones y productos se informan y cuantifican al final de cada operación. Luego se puede revisar la importancia y el significado de los datos y se pueden tomar las medidas correspondientes para abordar cualquier problema encontrado.

Siege tiene esencialmente tres modos de operación:

  • Regresión
  • Simulación de Internet
  • Fuerza bruta

Siege puede utilizar una cantidad considerable de URL enumeradas en un archivo de configuración y trabajar con ellas de forma incremental (en el modo de prueba de regresión) o aleatoriamente (en el modo de simulación de Internet). Además, el usuario puede simplemente presionar una sola URL a través de la línea de comando (en modo de fuerza bruta).

Sintaxis

                      
                        [[email protected] ~]# siege <options> and siege <options> [url]

[[email protected] ~]# siege -c10 -r20 google.com
                      
                    

En el example arriba, Siege llegará a los servidores de Google con 10 usuarios simultáneos, 20 veces para ejecutar la prueba.

Todas las opciones disponibles:

Uso

  • cerco [option]
  • cerco [options] URL
  • ganar -g URL

Ver tabla

Opciones NOMBRE DESCRIPCIÓN
-V, –versión VERSIÓN Imprime el número de versión.
-h, –ayuda AYUDA Imprime esta sección.
-C, –config CONFIGURACIÓN Muestra la configuración actual.
-v, –verbose VERBOSO Imprime notificación en pantalla.
-g, –obtener OBTENER Despliega los encabezados HTTP y muestra la transacción. Ideal para la depuración de aplicaciones.
-c, –concurrente=NUM CONCURRENTE Número de usuarios concurrentes. El valor predeterminado es 10.
-i, –internet INTERNET Simulación de usuario de Internet, que accede a URL de forma aleatoria.
-b, –punto de referencia PUNTO DE REFERENCIA Punto de referencia: sin demoras entre solicitudes.
-t, –tiempo = NUMm CRONOMETRADO Pruebas cronometradas con modificadores: S (segundos), METRO (minutos), o H (horas). Ex. –time=1H es una prueba de una hora.
-r, –repeticiones=NUM REPRESENTANTES Número de veces para ejecutar la prueba.
-f, –archivo=ARCHIVO EXPEDIENTE Selecciona un archivo de URL específico.
-R, –rc = ARCHIVO RC Especifique un archivo siegerc.
-l, –registro[=FILE] INICIAR SESIÓN Unido al expediente. Si no se especifica FILE, se utiliza el valor predeterminado: PREFIX/var/siege.log.
-m, –mark=”texto” MARCA Marque el archivo de registro con una cadena.
-d, –retraso=NUM DEMORA Retraso de tiempo aleatorio antes de cada solicitud entre 1 y NUM (no se cuenta en las estadísticas).
-H, –header=”texto” Agregue un encabezado a la solicitud (pueden ser muchos).
-A, –usuario-agente=”texto” Establece el agente de usuario en la solicitud.

Instalación

CentOS

En CentOS 7, simplemente instalamos Siege.

                      
                        [[email protected] ~]# yum install siege
Loaded plugins: fastestmirror, priorities, tmprepo
Determining fastest mirrors
epel/x86_64/metalink                                  |  16 kB  00:00:00
 * base: mirrors.CodePre.com
 * epel: mirrors.CodePre.com
 * extras: mirrors.CodePre.com
 * updates: mirrors.CodePre.com
base                                                  | 3.6 kB  00:00:00
epel                                                  | 5.4 kB  00:00:00
extras                                                | 2.9 kB  00:00:00
group_spacewalkproject-java-packages                  | 3.3 kB  00:00:00
nodesource                                            | 2.5 kB  00:00:00
spacewalk                                             | 3.6 kB  00:00:00
updates                                               | 2.9 kB  00:00:00
(1/4): epel/x86_64/updateinfo                         | 1.0 MB  00:00:00
(2/4): epel/x86_64/primary_db                         | 6.9 MB  00:00:00
(3/4): updates/7/x86_64/primary_db                    | 5.8 MB  00:00:00
(4/4): nodesource/x86_64/primary_db                   |  27 kB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package siege.x86_64 0:4.0.2-2.el7 will be installed
--> Processing Dependency: libjoedog >= 0.1.2 for package: siege-4.0.2-2.el7.x86_64
--> Running transaction check
---> Package libjoedog.x86_64 0:0.1.2-1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================
 Package               Arch         Version             Repository       Size
=====================================================================================
Installing:
 siege                 x86_64       4.0.2-2.el7         epel             108 k
Installing for dependencies:
 libjoedog             x86_64       0.1.2-1.el7         epel              19 k

Transaction Summary
=====================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 126 k
Installed size: 278 k
Is this ok [y/d/N]: y

Downloading packages:
(1/2): libjoedog-0.1.2-1.el7.x86_64.rpm                          |  19 kB  00:00:00
(2/2): siege-4.0.2-2.el7.x86_64.rpm                              | 108 kB  00:00:00
------------------------------------------------------------------------------------
Total                                                   1.9 MB/s | 126 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libjoedog-0.1.2-1.el7.x86_64                    1/2 
  Installing : siege-4.0.2-2.el7.x86_64                        2/2 
  Verifying  : libjoedog-0.1.2-1.el7.x86_64                    1/2 
  Verifying  : siege-4.0.2-2.el7.x86_64                        2/2 

Installed:
  siege.x86_64 0:4.0.2-2.el7

Dependency Installed:
  libjoedog.x86_64 0:0.1.2-1.el7

Complete!
[[email protected] ~]# 

                      
                    

ubuntu

Para un servidor Ubuntu , usamos apt-get para instalar Siege.

                      
                        [email protected]:~# apt-get install siege
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  siege
0 upgraded, 1 newly installed, 0 to remove and 29 not upgraded.
Need to get 0 B/98.3 kB of archives.
After this operation, 278 kB of additional disk space will be used.
Selecting previously unselected package siege.
(Reading database ... 252416 files and directories currently installed.)
Preparing to unpack .../siege_4.0.4-1build1_amd64.deb ...
Unpacking siege (4.0.4-1build1) ...
Setting up siege (4.0.4-1build1) ...
Processing triggers for man-db (2.8.7-3) ...
[email protected]:~# 
                      
                    

Pruebas

Usaremos el comando mencionado anteriormente como prueba example.

ubuntu

                      
                        [email protected]:~# siege -c10 -r20 google.com
New configuration template added to /root/.siege
Run siege -C to view the current settings in that file
** SIEGE 4.0.4
** Preparing 10 concurrent users for battle.
The server is now under siege...
Transactions:		         600 hits
Availability:		      100.00 %
Elapsed time:		        4.53 secs
Data transferred:	        4.12 MB
Response time:		        0.07 secs
Transaction rate:	      132.45 trans/sec
Throughput:		        0.91 MB/sec
Concurrency:		        9.40
Successful transactions:         600
Failed transactions:	           0
Longest transaction:	        0.34
Shortest transaction:	        0.02
 
[email protected]:~# 
                      
                    

CentOS

                      
                        [[email protected] ~]# siege -c10 -r20 google.com
New configuration template added to /root/.siege
Run siege -C to view the current settings in that file
** SIEGE 4.0.2
** Preparing 10 concurrent users for battle.
The server is now under siege...
HTTP/1.1 200     0.07 secs:   49183 bytes ==> GET  /
HTTP/1.1 200     0.07 secs:   49202 bytes ==> GET  /
HTTP/1.1 200     0.07 secs:   49177 bytes ==> GET  /
HTTP/1.1 200     0.08 secs:   49188 bytes ==> GET  /
HTTP/1.1 200     0.08 secs:   49214 bytes ==> GET  /
HTTP/1.1 200     0.08 secs:   49199 bytes ==> GET  /
HTTP/1.1 200     0.07 secs:   49195 bytes ==> GET  /
HTTP/1.1 200     0.08 secs:   49227 bytes ==> GET  /
HTTP/1.1 301     0.02 secs:     219 bytes ==> GET  /
HTTP/1.1 301     0.03 secs:     219 bytes ==> GET  /
HTTP/1.1 301     0.03 secs:     219 bytes ==> GET  /
HTTP/1.1 301     0.03 secs:     219 bytes ==> GET  /
HTTP/1.1 301     0.03 secs:     219 bytes ==> GET  /
HTTP/1.1 301     0.03 secs:     219 bytes ==> GET  /
HTTP/1.1 301     0.03 secs:     219 bytes ==> GET  /
HTTP/1.1 200     0.08 secs:   48870 bytes ==> GET  /
HTTP/1.1 200     0.08 secs:   49181 bytes ==> GET  /
HTTP/1.1 200     0.08 secs:   49192 bytes ==> GET  /
HTTP/1.1 200     0.07 secs:   49227 bytes ==> GET  /

Transactions:		         600 hits
Availability:		      100.00 %
Elapsed time:		        8.25 secs
Data transferred:	       10.47 MB
Response time:		        0.05 secs
Transaction rate:	       72.73 trans/sec
Throughput:		        1.27 MB/sec
Concurrency:		        3.41
Successful transactions:         600
Failed transactions:	           0
Longest transaction:	        0.16
Shortest transaction:	        0.02
 
[[email protected] ~]#
                      
                    

Estadísticas de rendimiento

  • Actas : Este es el número de veces que se golpea el servidor.
  • Tiempo transcurrido : Este es el lapso de tiempo de toda la prueba. El resultado de esta salida se mide desde el momento en que admin invoca Siege hasta que el último usuario simulado complete su transacción.
  • Datos transferidos : Esta es la cantidad total de datos transmitidos con cada uno de los usuarios simulados de Siege. Este resultado incluirá la información del encabezado. Debido a que incorpora la información del encabezado, el resultado informado a Siege será mayor que los números informados por el servidor. Si estamos en modo Internet, que empuja las URL aleatorias desde el archivo de configuración, este número variará de una prueba a otra.
  • Tiempo de respuesta : Esta es la cantidad de tiempo promedio que se tarda en responder a cada solicitud simulada.
  • Tasa de transacción : Esta es la cantidad promedio de transacciones que el servidor pudo manejar por segundo. En esencia: transacciones/tiempo transcurrido.
  • Rendimiento : Esta es la cantidad promedio de bytes transferidos desde el servidor cada segundo a todos los usuarios simulados.
  • concurrencia : Este es el número promedio de conexiones simultáneas, que es un número que aumenta a medida que disminuye el rendimiento del servidor.
  • Transacciones exitosas : este número indica la cantidad de veces que el servidor devolvió un código de error inferior a 400. Además, los redireccionamientos también se consideran transacciones exitosas.

Descargar

También puede obtener el última versión de asedio o la página de inicio de asedio o la página de GitHub de Siege .

Nota: Siege solo se ejecuta en sistemas basados ​​en Unix, sin embargo, se puede emplear para probar IIS, junto con otros servidores web como ApacheNginx y Litespeed.

¡Haga clic a continuación para usar este conveniente cupón hoy!

¿Tiene un servidor existente que ha perdido esa velocidad que alguna vez tuvo?

¿Sientes que tu servidor está en su último tramo?

¡Pruebe uno de nuestros servidores más nuevos y rápidos en el mercado hoy y recupere su ventaja!

Related Posts