Articulo de referencia

cargador de curl

curl-loader es una herramienta de código abierto para pruebas de rendimiento de software . Esta herramienta basada en C es desarrollada y mantenida por el Dr. Robert Iakobashvil...

curl-loader es una herramienta de código abierto para pruebas de rendimiento de software .

Esta herramienta basada en C es desarrollada y mantenida por el Dr. Robert Iakobashvili y Michael Moser.

Características

curl-loader es capaz de simular el comportamiento de cientos de miles de clientes HTTP / HTTPS y FTP / FTPS , cada uno con su propia dirección IP de origen. A diferencia de otras herramientas, curl-loader utiliza pilas de protocolos de cliente reales, concretamente, las pilas HTTP y FTP de libcurl y TLS / SSL de openSSL , y simula el comportamiento del usuario con soporte para diferentes modalidades de inicio de sesión y autenticación.

Puede gestionar entre 2500 y 100 000 clientes de carga virtual o más desde un único proceso curl-loader. El número real de clientes virtuales puede ser varias veces mayor, limitado principalmente por la disponibilidad de memoria. Cada cliente virtual carga el tráfico desde su dirección IP de origen "personal", desde la dirección IP "común" compartida por todos los clientes, o desde direcciones IP compartidas por algunos clientes, donde un conjunto limitado de direcciones IP compartidas puede ser utilizado por un lote de clientes.

Características principales:

  • Aumento del número de clientes virtuales al inicio de la carga, ya sea en modo automático o manual;
  • Direcciones IPv4 e IPv6 y URI;
  • HTTP 1.1. GET, POST, PUT, DELETE, HEAD, incluyendo operaciones de carga de archivos;
  • Inicio de sesión con autenticación de usuario HTTP mediante métodos POST o GET+POST. Se ofrecen opciones como nombre de usuario y contraseña únicos y configurables para cada cliente virtual, así como cadena de texto configurable (post-forms). Otra opción es la carga de usuarios con credenciales desde un archivo de texto de tokens.
  • Formularios HTTP POST/GET con hasta 16 tokens rellenados a partir de un archivo de texto de tokens;
  • Cierre de sesión de usuario HTTP con POST, GET+POST o GET (cookies); cierre de sesión POST con cadena de envío configurable (post-forms);
  • Envío de datos de formulario multipart HTTP mediante POST, como en RFC1867;
  • Autenticación web y de proxy HTTP (respuestas HTTP 401 y 407) con Basic, Digest (RFC2617) y NTLM;
  • Redirecciones HTTP 3xx con un número ilimitado de redirecciones;
  • cookies HTTP y cachés DNS ;
  • FTP pasivo y activo, carga de archivos FTP ;
  • Personalización completa de los encabezados HTTP / FTP  de las solicitudes del cliente ;
  • Límite de transferencia para cada operación de descarga o carga del cliente por URL;
  • Probabilidad de obtención de URL ;
  • Reutilización o restablecimiento de conexiones TCP por URL ;
  • Número ilimitado y configurable de URL. Combinación de URL HTTP , HTTPS , FTP y FTPS en una única configuración por lotes (plan de prueba);
  • Temporizadores de establecimiento de conexión para cada URL;
  • Control y aplicación de los temporizadores de finalización de URL para cada cliente;
  • Temporizadores de "inactividad" entre/después de la URL, incluidos temporizadores aleatorios tomados de un intervalo configurable;
  • Archivo de registro con las actividades de seguimiento para cada cliente virtual;
  • Registro de las respuestas (encabezados y cuerpos) en archivos;
  • Ejemplos de configuración de lotes precocinados (plan de pruebas);
  • Cargar el estado en la consola y con salida a un archivo;
  • Estado y estadísticas de cada cliente virtual, que se registran en un archivo;

El objetivo de curl-loader es ofrecer una solución de código abierto para pruebas de rendimiento de software del lado del cliente, como alternativa a Spirent Avalanche e IXIA IxLoad. Curl-loader se suele utilizar junto con el servidor web nginx o Apache .

Véase también

Referencias

  • Sitio web oficial