Linux benchmark III


Dentro de la serie de entradas que hablan sobre cómo comprobar el rendimiento de servidores GNU/Linux hoy vamos a ver cómo realizar pruebas de rendimiento sobre un servidor Apache que contenga una página web. Para ello, vamos a emplear ab (Apache Benchmark tool), que se instala automáticamente al instalara apache2-utils en nuestro sistema.
ab permite simular una solicitud de conexión a una web, pero también simular la conexión de cientos de clientes, así como la concurrencia de varios thread's simultáneamente. De esta forma podemos comprobar, más o menos, el rendimiento que tendría nuestra web con una carga de trabajo real.

Instalación

Como ya se mencionó, únicamente hay que instalar el paquete apache2-utils,
shell> apt-get install apache2-utils

Uso

ab únicamente requiere que le pasemos como argumento la URL que deseamos examinar, pero como era de esperar, también permite el paso de parámetros, lo cual facilitará enormemente el chequeo del sistema. En nuestros caso vamos a indicarle dos parámetros, el primer de ellos, opción -n, indica el número de conexiones que se van a realizar. El segundo, opción -c, indica la concurrencia de las conexiones, es decir, el número de conexiones simultáenas a la web.
shell> ab -n 1000 -c 25 http://www.your_URL.com/
Tras la ejecución del comando, nos presentará unos resultados,
Server Software:        Apache/2.2.16
Server Hostname:        www.your_URL.com
Server Port:            80

Document Path:          /
Document Length:        46701 bytes

Concurrency Level:      25
Time taken for tests:   16.897 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      47177000 bytes
HTML transferred:       46701000 bytes
Requests per second:    59.18 [#/sec] (mean)
Time per request:       422.433 [ms] (mean)
Time per request:       16.897 [ms] (mean, across all concurrent requests)
Transfer rate:          2726.54 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    3   3.1      2      24
Processing:   117  418  66.1    414     829
Waiting:       93  358  63.3    350     724
Total:        135  421  65.4    416     831

Percentage of the requests served within a certain time (ms)
  50%    416
  66%    428
  75%    436
  80%    440
  90%    459
  95%    490
  98%    664
  99%    725
 100%    831 (longest request)

Con los resultados delante, ya sólo queda interpretarlos. Lo primero de todo, dejar claro que el benchmark únicamente se ejecuta sobre la URL especificada, en mi caso sobre /indix.html y no sobre toda la web. Esto hay que tenerlo en cuenta, pues no es lo mismo un html estático que un html que lo genera un php con mucha información y acceso a base de datos. También tener en cuenta que todos los complementos adiciones que no sean html, léase javascript, css, imágenes, etc. no entran en la carga, ni por lo tanto en la comprobación de rendimiento. Aun así, Apache Benchmark es una muy buena herramienta para la realización de test a servidores web.

Interpretación

Es importante tener claro lo comentado anteriormente sobre el funcionamiento de ab. Si está claro, ya podemos interpretar los resultados. Aunque prácticamente toda la información mostrada es importante, cabe destacar por ejemplo el tiempo que tarda en ejecutarse el test, así como la cantidad de datos transmitidos. Esto nos dará una orientación sobre la cantidad de datos que descargará cada usuario que visite la URL de prueba. También es muy importante, especialmente para saber cómo afectará al posicionamiento, la relación entre el tiempo de conexión (Connection Time) y el tiempo  que tarda en generarse el documento de salida.
Es importante para tener más claro el comportamiento de nuestra web que esta prueba se ejecute varias veces con parámetros diferente, tanto en número de usuarios concurrentes, como el número de conexiones. Esto es lógico, pues no es lo mismo tener un único usuario navegando que tener 200 simultáneos.

Espero que esta aproximación a ab os deje con ganas de más información. Si la queréis no dudéis de dejar un comentario ni tampoco de leer el manual de la aplicación, que sin duda ayudará mucho.

La entrada Linux benchmark III la puedes leer en Puppet Linux.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios