herramienta de evaluación comparativa del servidor HTTP ab-Apache

http://httpd.apache.org/docs/2.0/programs/ab.html 

abEs una herramienta para la evaluación comparativa del servidor Apache Hypertext Transfer Protocol (HTTP). Está diseñado para darle una impresión de cómo se está desempeñando la instalación actual de Apache. Esto le muestra especialmente cuántas solicitudes por segundo puede manejar la instalación de Apache.

Visión de conjunto

ab [ -A auth-username:password ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [http://]hostname[:port]/path

Opciones

-A auth-username:password

Proporcione las credenciales de autenticación BÁSICAS al servidor. El nombre de usuario y la contraseña están separados por uno :y se envían a través de la red codificados como base64. La cadena se enviará independientemente de si el servidor requiere la cadena ( es decir , se ha enviado la autenticación 401 requerida).

-c concurrency

El número de solicitudes múltiples ejecutadas a la vez. El valor predeterminado es una solicitud a la vez.

-C cookie-name=value

Cookie:Agrega una línea a la solicitud. Los parámetros suelen tener la forma de un par. Este campo es repetible.name=value

-d

No muestre el "Porcentaje de publicación en la tabla XX [ms]". (Soporte heredado).

-e csv-file

Escriba un archivo de valores separados por comas (CSV) que contenga el tiempo (en milisegundos) dedicado a atender ese porcentaje de solicitudes para cada porcentaje (del 1% al 100%). Generalmente, es más útil que los archivos "gnuplot". Porque el resultado ha sido "encajonado".

-g gnuplot-file

Escriba todos los valores medidos como archivos "gnuplot" o TSV (valores separados por tabulaciones). Este archivo se puede importar fácilmente a paquetes de software como Gnuplot, IDL, Mathematica, Igor e incluso Excel. La etiqueta está en la primera línea del archivo.

-h

Muestra información de uso.

-H custom-header

Agregue encabezados adicionales a la solicitud. Este parámetro suele tener la forma de una línea de encabezado válida, que contiene un par de valores de campo separados por dos puntos ( es decir , "Accept-Encoding: zip/zop;8bit").

-i

En su lugar, haz una HEADsolicitud GET.

-k

Habilite la función HTTP KeepAlive, es decir , ejecute varias solicitudes en una sesión HTTP. El valor predeterminado es no KeepAlive.

-n requests

El número de solicitudes ejecutadas para la sesión de referencia. La configuración predeterminada es ejecutar solo una solicitud, lo que generalmente conduce a resultados de referencia no representativos.

-p POST-file

El archivo que contiene los datos que se van a publicar.

-P proxy-auth-username:password

Proporcione las credenciales de autenticación BÁSICAS de camino al agente. El nombre de usuario y la contraseña están separados por uno :y se envían a través de la red codificados como base64. Esta cadena se enviará independientemente de si el proxy lo requiere ( es decir , se ha enviado la autenticación de proxy 407 requerida).

-q

Cuando se procesan más de 150 solicitudes, el abrecuento de progreso se emite por cada 10% o aproximadamente 100 solicitudes stderr. Esta  -qbandera suprimirá estos mensajes.

-s

Al compilar ( ab -hse lo mostrará), utilice la protección SSL en httpslugar del httpprotocolo. Esta característica es experimental y muy básica. Es posible que no desee utilizarlo.

-S

Cuando el promedio y la mediana son una o más veces la desviación estándar, no se muestran los valores de la mediana y la desviación estándar y no se muestran mensajes de advertencia / error. Y el valor predeterminado es el valor mínimo / promedio / máximo. (Soporte heredado).

-t timelimit

El número máximo de segundos utilizados para la evaluación comparativa. Esto significa  -n 50000interno. Úselo para comparar el servidor en un tiempo total fijo. No hay límite de tiempo por defecto.

-T content-type

El encabezado del tipo de contenido utilizado para los datos POST.

-v verbosity

Establezca el nivel de detalle: la 4información 3se mostrará en el título en la parte superior, los códigos de respuesta (404, 200, etc.)  2se mostrarán en la parte superior, las advertencias y los mensajes se mostrarán en la parte superior.

-V

Muestre el número de versión y salga.

-w

Imprima los resultados en una tabla HTML. La tabla predeterminada tiene dos columnas de ancho con un fondo blanco.

-x <table>-attributes

La cadena utilizada como atributo <table>. Insertar atributos.<table here >

-X proxy[:port]

Utilice un servidor proxy para procesar la solicitud.

-y <tr>-attributes

La cadena utilizada como atributo <tr>.

-z <td>-attributes

La cadena utilizada como atributo <td>.

 

BICHO

Hay varios búferes declarados estáticamente de longitud fija. Combinado con el análisis retardado de los parámetros de la línea de comandos, los encabezados de respuesta del servidor y otras entradas externas, esto puede causarle problemas. No implementa completamente HTTP / 1.x. Acepte sólo determinadas formas de respuesta "esperadas". strstr(3)La pantalla de uso intensivo en la parte superior del perfil puede indicar problemas de rendimiento; es decir , medirá el abrendimiento en lugar del rendimiento del servidor.

Ejemplo de prueba de esfuerzo concurrente

Envíe 1000 solicitudes http get a [ http://192.168.10.232:8000/blog , el concurrente es 10]:

$ ab -n1000 -c10 http://localhost/
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
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)
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:        nginx/1.10.3
Server Hostname:        localhost
Server Port:            80

Document Path:          /
Document Length:        11321 bytes

Concurrency Level:      10
Time taken for tests:   0.066 seconds
Complete requests:      1000
Failed requests:        0
Total transferred:      11566000 bytes
HTML transferred:       11321000 bytes
Requests per second:    15207.74 [#/sec] (mean)
Time per request:       0.658 [ms] (mean)
Time per request:       0.066 [ms] (mean, across all concurrent requests)
Transfer rate:          171770.21 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       0
Processing:     0    0   0.1      0       1
Waiting:        0    0   0.2      0       1
Total:          0    1   0.1      1       1

Percentage of the requests served within a certain time (ms)
  50%      1
  66%      1
  75%      1
  80%      1
  90%      1
  95%      1
  98%      1
  99%      1
 100%      1 (longest request)

Tenga en cuenta que el tiempo por solicitud: 0,658 [ms] (media) es el tiempo medio de finalización de cada lote de solicitudes, donde se completan 10 solicitudes. Tiempo por solicitud: 0,066 [ms] (media, en todas las solicitudes simultáneas) es el tiempo medio de finalización de cada solicitud.

ApacheBench solo usará un hilo del sistema operativo. En muchos casos, el propio ApacheBench es el cuello de botella. Cuando se usa ApacheBench en hardware con múltiples núcleos de procesador, se recomienda que un núcleo de CPU ejecute un subproceso ab, pero ahora que hay muchos núcleos de CPU, como 48 núcleos, ejecutar manualmente 48 comandos también es un esfuerzo individual.

En general, ab solo es adecuado para pruebas aproximadas de un solo componente, como Apache http, porque no puede usar múltiples núcleos, no se puede parametrizar y no admite protocolos que no sean http y https. No es adecuado para pruebas a nivel empresarial. Por ejemplo, una vez que hay una base de datos en segundo plano, la prueba ab casi no tiene sentido.

 

Supongo que te gusta

Origin blog.csdn.net/boonya/article/details/109684160
Recomendado
Clasificación