ab - manual de referencia, opciones, ejemplos de comandos


NOMBRE

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

SINOPSIS

ab [ -A auth-username:password ] [ -b windowsize ] [ -B local-address ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -E client-certificate file ] [ -f protocol ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -l ] [ -m HTTP-method ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s timeout ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -u PUT-file ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path

RESUMEN

ab es una herramienta para comparar su servidor Apache Hypertext Transfer Protocol (HTTP). Está diseñado para darle una idea de cómo funciona su instalación actual de Apache. Esto le muestra especialmente cuántas solicitudes por segundo su instalación de Apache es capaz de atender.

OPCIONES

-A auth-username:password

Proporcione las credenciales de autenticación BASIC al servidor. El nombre de usuario y la contraseña están separados por un único : y se envían por cable codificados en base64. La cadena se envía independientemente de si el servidor la necesita (es decir, ha enviado una autenticación 401 necesaria).

-b windowsize

Tamaño del búfer de envío/recepción de TCP, en bytes.

-B local-address

Dirección a la que vincularse al realizar conexiones salientes.

-c concurrency

Número de solicitudes múltiples para realizar a la vez. El valor predeterminado es una solicitud a la vez.

-C cookie-name=value

Agregue una línea Cookie: a la solicitud. El argumento suele tener la forma de un par nombre=valor. Este campo es repetible.

-d

No mostrar el "porcentaje servido dentro de la tabla XX [ms]". (soporte heredado).

-e csv-file

Escriba un archivo de valores separados por comas (CSV) que contenga para cada porcentaje (del 1 % al 100 %) el tiempo (en milisegundos) que se tardó en atender ese porcentaje de solicitudes. Esto suele ser más útil que el archivo 'gnuplot'; ya que los resultados ya están 'agrupados'.

-E client-certificate-file

Al conectarse a un sitio web SSL, utilice el certificado de cliente proporcionado en formato PEM para autenticarse con el servidor. Se espera que el archivo contenga el certificado del cliente, seguido de certificados intermedios, seguidos de la clave privada. Disponible en 2.4.36 y posteriores.

-f protocol

Especifique el protocolo SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2 o TODOS). Compatibilidad con TLS1.1 y TLS1.2 disponible en 2.4.4 y versiones posteriores.

-g gnuplot-file

Escriba todos los valores medidos como un archivo 'gnuplot' o TSV (valores separados por tabuladores). Este archivo se puede importar fácilmente a paquetes como Gnuplot, IDL, Mathematica, Igor o incluso Excel. Las etiquetas están en la primera línea del archivo.

-h

Mostrar información de uso.

-H custom-header

Agregue encabezados adicionales a la solicitud. El argumento 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

Haz solicitudes HEAD en lugar de GET.

-k

Habilite la función HTTP KeepAlive, es decir,, realice múltiples solicitudes dentro de una sesión HTTP. El valor predeterminado no es KeepAlive.

-l

No informe errores si la longitud de las respuestas no es constante. Esto puede ser útil para páginas dinámicas. Disponible en 2.4.7 y posteriores.

-m HTTP-method

Método HTTP personalizado para las solicitudes. Disponible en 2.4.10 y posteriores.

-n requests

Número de solicitudes a realizar para la sesión de evaluación comparativa. El valor predeterminado es realizar una sola solicitud, lo que generalmente conduce a resultados de evaluación comparativa no representativos.

-p POST-file

Archivo que contiene datos para POST. Recuerde establecer también -T.

-P proxy-auth-username:password

Proporcione las credenciales de autenticación BÁSICA a un proxy en ruta. El nombre de usuario y la contraseña están separados por un único : y se envían por cable codificados en base64. La cadena se envía independientemente de si el proxy la necesita (es decir, ha enviado una autenticación de proxy 407 necesaria).

-q

Al procesar más de 150 solicitudes, ab genera un recuento de progreso en stderr cada 10 % o 100 solicitudes aproximadamente. El indicador -q suprimirá estos mensajes.

-r

No salga en los errores de recepción del socket.

-s timeout

Número máximo de segundos de espera antes de que se agote el tiempo de espera del socket. El valor predeterminado es 30 segundos. Disponible en 2.4.4 y posteriores.

-S

No muestre los valores de la mediana y la desviación estándar, ni muestre los mensajes de advertencia/error cuando el promedio y la mediana estén separados por más de una o dos veces la desviación estándar. Y por defecto a los valores min/avg/max. (soporte heredado).

-t timelimit

Número máximo de segundos que se dedican a la evaluación comparativa. Esto implica un -n 50000 internamente. Use esto para comparar el servidor dentro de una cantidad de tiempo total fija. Por defecto no hay límite de tiempo.

-T content-type

Encabezado de tipo de contenido para usar para datos POST/PUT, p. aplicación/x-www-form-urlencoded. El valor predeterminado es texto/sin formato.

-u PUT-file

Archivo que contiene datos para PUT. Recuerde establecer también -T.

-v verbosity

Establezca el nivel de verbosidad: 4 y superior imprime información en encabezados, 3 y superior imprime códigos de respuesta (404, 200, etc.), 2 y arriba imprime advertencias e información.

-V

Mostrar el número de versión y salir.

-w

Imprime los resultados en tablas HTML. La tabla predeterminada tiene dos columnas de ancho, con un fondo blanco.

-x <table>-attributes

Cadena para usar como atributos para tabla. Los atributos se insertan tabla aquí.

-X proxy[:port]

Utilice un servidor proxy para las solicitudes.

-y <tr>-attributes

Cadena para usar como atributos para .

-z <td>-attributes

Cadena para usar como atributos para .

-Z ciphersuite

Especificar conjunto de cifrado SSL/TLS (ver cifrados openssl)

PRODUCCIÓN

La siguiente lista describe los valores devueltos por ab:

Server Software

El valor, si lo hay, devuelto en el encabezado HTTP servidor de la primera respuesta correcta. Esto incluye todos los caracteres del encabezado desde el principio hasta el punto en que se detecta un carácter con un valor decimal de 32 (sobre todo: un espacio o CR/LF).

Server Hostname

El DNS o la dirección IP dada en la línea de comando

Server Port

El puerto al que se conecta ab. Si no se proporciona ningún puerto en la línea de comando, el valor predeterminado será 80 para http y 443 para https.

SSL/TLS Protocol

Los parámetros de protocolo negociados entre el cliente y el servidor. Esto solo se imprimirá si se usa SSL.

Document Path

El URI de solicitud analizado desde la cadena de la línea de comando.

Document Length

Este es el tamaño en bytes del primer documento devuelto correctamente. Si la longitud del documento cambia durante la prueba, la respuesta se considera un error.

Concurrency Level

El número de clientes simultáneos utilizados durante la prueba.

Time taken for tests

Este es el tiempo transcurrido desde el momento en que se crea la primera conexión de socket hasta el momento en que se recibe la última respuesta.

Complete requests

El número de respuestas exitosas recibidas

Failed requests

El número de solicitudes que se consideraron un error. Si el número es mayor que cero, se imprimirá otra línea que muestra el número de solicitudes que fallaron debido a la conexión, la lectura, la longitud incorrecta del contenido o las excepciones.

Write errors

El número de errores que fallaron durante la escritura (tubería rota).

Non-2xx responses

El número de respuestas que no estaban en la serie 200 de códigos de respuesta. Si todas las respuestas fueron 200, este campo no se imprime.

Keep-Alive requests

La cantidad de conexiones que resultaron en solicitudes Keep-Alive

Total body sent

Si está configurado para enviar datos como parte de la prueba, este es el número total de bytes enviados durante las pruebas. Este campo se omite si la prueba no incluía un cuerpo para enviar.

Total transferred

El número total de bytes recibidos del servidor. Este número es esencialmente el número de bytes enviados por cable.

HTML transferred

El número total de bytes de documento recibidos del servidor. Este número excluye los bytes recibidos en los encabezados HTTP

Requests per second

Este es el número de solicitudes por segundo. Este valor es el resultado de dividir el número de solicitudes por el tiempo total empleado

Time per request

El tiempo promedio empleado por solicitud. El primer valor se calcula con la fórmula concurrencia * timetaken * 1000/done mientras que el segundo valor se calcula con la fórmula timetaken * 1000/done

Transfer rate

La tasa de transferencia calculada por la fórmula totalread/1024/timetaken

INSECTOS

Hay varios búfer declarados estáticamente de longitud fija. Combinado con el análisis perezoso de los argumentos de la línea de comando, los encabezados de respuesta del servidor y otras entradas externas, esto podría molestarlo.

No implementa HTTP/1.x completamente; solo acepta algunas formas de respuesta "esperadas". El uso bastante intenso de strstr(3) aparece en la parte superior del perfil, lo que podría indicar un problema de rendimiento; es decir,, mediría el rendimiento ab en lugar del del servidor.