|
Getting your Trinity Audio player ready...
|
conocer los pasos fundamentales para efectuar pruebas básicas de carga de peticiones HTTP a servidor Apache con el uso del comando «ab» Apache Benchmark.
Instalación:
operador@server:~# aptitude install apache2-utils gnuplot
Ejecución comando:
1. Selecciona la URL a probar y ejecute comando:
operador@server:~# ab -k -n1000 -c100 -H 'Accept-Encoding: gzip,deflate' http://www.example.com.ve/sitio/
Donde:
-k (KeepAlive). Realizar múltiples solicitudes dentro de una sesión HTTP, funcionalidad de los navegadores por la naturaleza
-n (requests). Número total de solicitudes para ejecutar
-c (concurrency). Cantidad de conexiones concurrentes
-H ‘Accept-Encoding: gzip,deflate’ (custom-header). Anexar encabezados adicionales a la solicitud. Imita la peticiones típica que un navegador enviará
2. Resultado:
This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking www.example.com.ve (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Oracle-Application-Server-10g/10.1.2.2.0
Server Hostname: www.example.com.ve
Server Port: 80
Document Path: /sitio/
Document Length: 17225 bytes
Concurrency Level: 100
Time taken for tests: 4.666 seconds
Complete requests: 1000
Failed requests: 0
Keep-Alive requests: 0
Total transferred: 17727285 bytes
HTML transferred: 17225000 bytes
Requests per second: 214.31 [#/sec] (mean)
Time per request: 466.611 [ms] (mean)
Time per request: 4.666 [ms] (mean, across all concurrent requests)
Transfer rate: 3710.12 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 3 14 134.3 7 3013
Processing: 21 328 364.8 220 2618
Waiting: 20 211 124.4 202 1429
Total: 26 342 387.4 230 3250
Percentage of the requests served within a certain time (ms)
50% 230
66% 257
75% 278
80% 312
90% 445
95% 1384
98% 1472
99% 1579
100% 3250 (longest request)
3. Datos Importantes:
– Requests per second (mean): Cantidad de peticiones por segundo
– Time per request (mean): tiempo promedio en atender grupo de peticiones concurrentes
– Time per request (mean, across all concurrent requests): tiempo promedio en atender una petición
Graficar Resultado con gnuplot
1. Selecciona la URL a probar, adicionando el parámetro «-g» y el nombre de un archivo para almacenar los resultados «datos.csv»:
ab -k -n1000 -c100 -H 'Accept-Encoding: gzip,deflate' -g datos.csv http://www.example.com.ve/sitio/
donde:
-g (gnuplot-file). Escribe todos los valores medidos como un ‘gnuplot’
2. En la misma ruta donde se encuentra el archivo generado «datos.csv», crear archivo «plot.p»
operador@server:~# vim plot.p
Incluir la siguiente información:
set terminal png size 600 set output "resultados.png" set title "1000 peticiones, 100 peticiones concurrentes" set size ratio 0.6 set grid y set xlabel "Nro Peticiones" set ylabel "Tiempo de respuesta (ms)" plot "datos.csv" using 9 smooth sbezier with lines title "http://www.example.com.ve"
3. Generar la gráfica «resultado.png»
operador@server:~# gnuplot plot.p
