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