Dentro de la carpeta root de los servidores web creé una carpeta "FrameworksTest" que en adelante será la carpeta base y contendrá una carpeta por cada elemento a evaluar cuyo nombre tendrá la siguiente estructura: XX_NOMBRE donde XX es un número que me permitirá ordenar por nombre los elementos y NOMBRE es un nombre corto: Ejs: 01_HTML, 02_PHP.
En la carpeta base tendré todos recursos que son compartidos por los elementos a evaluar, por el momento ab.exe que tomé de la carpeta de instalación del Apache y un archivo interface que llamé benchmark.bat que me permitirá ejecutar ab.exe con algunos parámetros por defecto.
Acá un ejemplo simple de comó usar ab.exe.
ab.exe -n 20 -k http://localhost:80/FrameworksTests/01_HTML/index.htmlDonde:
- -n 200: Es el número de peticiones a realizar.
- -k: Usar KeepAlive para que todas las peticiones usen la misma conexión.
- El parámetro final es la URL a la que se harán las peticiones.
La evaluación que haré tiene las siguientes características:
- Evaluaré el número de respuestas por segundo.
- Se harán 200.000 peticiones.
- Siempre estará activo KeepAlive.
- Puedo cambiar el puerto de evaluación para usar otro servidor web (por defecto 80).
- Cada elemento, archivo o framework a evaluar estará en una subcarpeta de FrameworkTests.
- El nombre del archivo a evaluar puede variar en cada evaluación.
- La salida de la herramienta ab debe ser almacenada en la subcarpeta correspondiente.
Según las características anteriores hice una archivo benchmark.bat que me permite un uso más simple de la herramienta ab.
El contenido del archivo benchmark.bat es el siguiente:
@echo OFF rem // Número de peticiones a realizar set REQUESTS=200000 rem // Archivo al que se dirigirá la evaluación set FILE=%2 rem // Si el parámetro no existe se asume index.php if %2.==. set FILE=index.php rem // Puerto de conexión para la evaluación set PORT=%3 rem // Si el parámetro no existe se asume 80 if %3.==. set PORT=80 rem // URL final set URL=http://localhost:%PORT%/FrameworksTests/%1/%FILE% echo/ echo Iniciando... echo Peticiones: %REQUESTS% echo URL: %URL% echo LOG: %~dp0%1\benchmark%3.txt echo/ pause echo/ %~dp0\ab.exe -n %REQUESTS% -k %URL% > %~dp0%1\benchmark%3.txt echo/ echo Terminado. echo/ pause echo/El uso de este archivo es el siguiente:
benchmark.bat 01_HTML index.html 80Donde:
- 01_HTML es la subcarpeta a evaluar.
- index.html es el archivo dentro de la subcarpeta (No requerido, por defecto index.php).
- 80 es el puerto a usar (No requerido, por defecto 80).
benchmark.bat 01_HTML index.html 8080Hace 200.000 peticiones a la dirección: http://localhost:8080/FrameworksTests/01_HTML/index.html y genera un archivo llamado benchmark8080.txt dentro de la subcarpeta 01_HTML con el resultado de la evaluación.
Un llamado simple al archivo:
benchmark.bat 01_HTMLHace 200.000 peticiones a la dirección: http://localhost:80/FrameworksTests/01_HTML/index.php y genera un archivo llamado benchmark.txt dentro de la subcarpeta 01_HTML con el resultado de la evaluación.
Incluso puedo crear un archivo benchmark.bat dentro de cada subcarpeta que llame al archivo "benchmark principal" que auto-calcule su carpeta y me ahorre el trabajo de escribir la línea anterior.
@echo OFF for %%* in (.) do set ACTUALDIR=%%~n* echo Directorio actual: %ACTUALDIR% ..\benchmark.bat %ACTUALDIR%
Al ejecutarlo la salida sería más o menos esto:
Directorio actual: 01_HTML Iniciando... Peticiones: 200000 URL: http://localhost:80/FrameworksTests/01_HTML/index.html LOG: C:\...\FrameworksTests\01_HTML\benchmark.txt Presione una tecla para continuar . . . Completed 20000 requests Completed 40000 requests Completed 60000 requests Completed 80000 requests Completed 100000 requests Completed 120000 requests Completed 140000 requests Completed 160000 requests Completed 180000 requests Completed 200000 requests Finished 200000 requests Terminado. Presione una tecla para continuar . . .
Y el archivo de resultados generado sería algo así:
This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Server Software: Microsoft-IIS/7.5 Server Hostname: localhost Server Port: 80 Document Path: /FrameworksTests/01_HTML/index.html Document Length: 319 bytes Concurrency Level: 1 Time taken for tests: 32.370 seconds Complete requests: 200000 Failed requests: 0 Write errors: 0 Keep-Alive requests: 200000 Total transferred: 113200000 bytes HTML transferred: 63800000 bytes Requests per second: 6178.55 [#/sec] (mean) Time per request: 0.162 [ms] (mean) Time per request: 0.162 [ms] (mean, across all concurrent requests) Transfer rate: 3415.10 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 16 Processing: 0 0 1.6 0 47 Waiting: 0 0 1.5 0 47 Total: 0 0 1.6 0 47 Percentage of the requests served within a certain time (ms) 50% 0 66% 0 75% 0 80% 0 90% 0 95% 0 98% 0 99% 16 100% 47 (longest request)
Y el entorno está terminado.
Casinos near Casinos Near Hollywood, Illinois
ResponderEliminarCasino locations, 양주 출장안마 rates, amenities: 이천 출장마사지 expert Hollywood research, only at Hotel and Travel 포천 출장안마 Index. Casinos Near Hollywood, IL. Map. 군포 출장샵 Map. View 통영 출장마사지 more