Las opciones le permiten configurar cómo se comportará k6 durante la ejecución de la prueba.
Option | Description |
---|---|
Address | Dirección del servidor para la REST API |
Batch | Número máximo de conexiones simultáneas de una llamada http.batch() |
Batch per host | Número máximo de conexiones simultáneas de una llamada http.batch() para un host |
Blacklist IPs | Blacklist de rangos de IP para no ser llamados |
Block hostnames | Bloquear cualquier petición a nombres de host específicos |
Compatibility Mode | Soporta la ejecución de scripts con diferentes modos de ECMAScript |
Config | Especificar el archivo de configuración en formato JSON para leer los valores de las opciones |
Console Output | Redirecciona logs de la consola a un fichero |
Discard Response Bodies | Especificar si los cuerpos de respuesta deben ser descartados |
DNS | Configurar el comportamiento de la resolución DNS |
Duration | Una cadena que especifica la duración total de la ejecución de una prueba |
Execution Segment | Limitar la ejecución a un segmento de la prueba total |
Exit On Running | Acaba cuando el test finaliza el estado ejecutándose |
Extension Options | Un objeto utilizado para establecer las opciones de configuración de los recolectores de terceros |
Hosts | Un objeto con anulaciones de la resolución DNS |
HTTP Debug | Logear todas las peticiones y respuestas HTTP |
Include System Env Vars | Pasar las variables de entorno del sistema real al tiempo de ejecución |
Insecure Skip TLS Verify | Un booleano que especifica si se deben ignorar las verificaciones TLS para las conexiones VU |
Iterations | Un número que especifica un número fijo de iteraciones a ejecutar el script |
Linger | Un booleano que especifica si k6 debe permanecer tras la finalización de la ejecución de la prueba |
Local IPs | Una lista de IPs locales, rangos de IPs y CIDRs desde los que las VUs harán peticiones |
Log Output | Configuración sobre dónde deben enviarse los registros de k6 |
LogFormat | Especificar el formato de la salida de los logs |
Max Redirects | El número máximo de redirecciones HTTP que seguirá k6 |
Minimum Iteration Duration | Especificar la duración mínima de cada ejecución |
No Color | Especifica si el color de la salida en el terminal está deshabilitado |
No Connection Reuse | Un booleano que especifica si k6 debe desactivar las conexiones keep-alive |
No Cookies Reset | Esto desactiva el restablecimiento del tarro de galletas después de cada iteración de la VU |
No Summary | Desactiva el resumen de fin de test |
No Setup | Un booleano indicando si la función setup() está deshabilitada |
No Teardown | Un booleano indicando si la función teardown() está deshabilitada |
No Thresholds | Desactiva la ejecución de Thresholds |
No Usage Report | Un booleano que especifica si k6 debe enviar un informe de uso |
No VU Connection Reuse | Un booleano que especifica si k6 debe reutilizar las conexiones TCP |
Paused | Un booleano que especifica si la prueba debe comenzar en estado de pausa |
Quiet | Un booleano que especifica si mostrar la barra de progreso del test en el terminal |
Results Output | Especifica la salida de resultados |
RPS | El número máximo de peticiones a realizar por segundo |
Scenarios | Definir escenarios de ejecución avanzados |
Setup Timeout | Especificar el tiempo de ejecución de la función setup() antes de su finalización |
Show Logs | Un boleano especificando si los logs de cloud son mostrados en el terminal |
Stages | Una lista de objetos que especifican el número objetivo de VUs para subir o bajar |
Summary export | Guarda el informe de resumen de fin de prueba en un archivo JSON |
Supply Env Var | Añadir/sustituir la variable de entorno con VAR=valor |
System Tags | Especificar qué etiquetas del sistema estarán en las métricas recogidas |
Summary Time Unit | Unidad de tiempo para todos los valores del resumen del fin de test |
Summary Trend Stats | Definir las estadísticas de las métricas de tendencia |
Tags | Especificar tags que deben establecerse en todas las métricas de la prueba |
Teardown Timeout | Especifica el tiempo de ejecución de la función teardown() antes de su finalización |
Thresholds | Configurar bajo qué condiciones una prueba tiene éxito o no |
Throw | Un booleano que especifica si se lanzan errores en las peticiones HTTP fallidas |
TLS Auth | Una lista de objetos de configuración del certificado de cliente TLS |
TLS Cipher Suites | Una lista de suites de cifrado que se pueden utilizar en las interacciones SSL/TLS con un servidor |
TLS Version | String u objeto que representa la única versión SSL/TLS permitida |
User Agent | Un string que especifica la cabecera User-Agent al enviar solicitudes HTTP |
Verbose | Un boleando especifiando si el logging verboso está habilidado |
VUs | Un número que especifica el número de VUs que se ejecutan simultáneamente |
Usando las opciones
Las opciones pueden formar parte del código de los scripts para que puedan ser controladas por la versión. También se pueden especificar con flags de línea de comandos, variables de entorno o a través de un archivo de configuración. El orden de precedencia es el siguiente:
command-line flags > environment variables > exported script options > config file > defaults
Las opciones de cada nivel sobre escribirán las opciones del nivel siguiente, teniendo las flags de la línea de comandos la mayor precedencia.
Por ejemplo, se puede definir la duración de 4 maneras diferentes:
- Establecer la duration: 10s en el archivo de configuración
- Establezca la opción de duration: 10s en el script
- Definir K6_DURATION cómo variable de entorno
- Utilizar la flag de línea de comandos --duration 10s sobrescribe todo lo anterior.
El siguiente fragmento de JS muestra cómo especificar las opciones en el script:
También puede establecer las mismas opciones a través de un archivo de configuración:
O establecer algunas de las opciones anteriores a través de variables de entorno y flags de línea de comandos:
A continuación, encontrará detalles sobre todas las opciones disponibles que se pueden especificar dentro de un script. También se documenta la flag de la línea de comandos equivalente, las variables de entorno o la opción al ejecutar k6 run ... y k6 cloud ... que pueden utilizarse para anular las opciones especificadas en el código.
Address
Dirección del API server. Cuando ejecutas k6 run un servidor HTTP con la API REST se inicia, lo cual puede ser usado para controlar la ejecución del test. Lee más en k6 REST API.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --address, -a | N/A | localhost:6565 |
Batch
El número máximo de conexiones simultáneas/paralelas en total que puede hacer una llamada http.batch() en una VU. Si tienes una llamada batch() a la que has dado 20 URLs y --batch está establecido en 15, entonces la VU hará 15 peticiones de inmediato en paralelo y pondrá en cola el resto, ejecutándose tan pronto como una petición anterior haya terminado y se abra un hueco.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_BATCH | --batch | batch | 20 |
Batch per host
El número máximo de conexiones simultáneas/paralelas para el mismo nombre de host que puede hacer una llamada http.batch() en una VU. Si tiene una llamada a batch() a la que le ha dado 20 URLs para el mismo nombre de host y --batch-per-host está establecido en 5, entonces la VU hará 5 peticiones de inmediato en paralelo y pondrá en cola el resto, ejecutándose tan pronto como una petición anterior haya terminado y se abra un hueco. Esto no ejecutará más peticiones en paralelo que el valor del lote.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_BATCH_PER_HOST | --batch-per-host | batchPerHost | 6 |
Blacklist IPs
Blacklist de IP para no ser llamados.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_BLACKLIST_IPS | --blacklist-ip | blacklistIPs | null |
Block Hostnames
Bloquea los nombres de host basándose en una lista de cadenas de coincidencia glob. La cadena de coincidencia de patrones puede tener un solo * al principio, como *.example.com, que coincidirá con cualquier cosa antes de eso, como test.example.com y test.test.example.com.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_BLOCK_HOSTNAMES | --block-hostnames | blockHostnames | null |
Compatibility Mode
Soporta la ejecución de scripts con diferentes modos de compatibilidad con ECMAScript.
Lea más sobre los diferentes modos de compatibilidad con JavaScript.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_COMPATIBILITY_MODE | --compatibility-mode | N/A | "extended" |
Config
Especifica el archivo config, k6 buscará config.json en el directorio loadimpact/k6 dentro del directorio habitual de archivos de configuración del sistema operativo. Las ubicaciones de configuración por defecto en los diferentes sistemas operativos son:
OS | Default Config Path |
---|---|
Unix-based | ${HOME}/.config/loadimpact/k6/config.json |
macOS | ${HOME}/Library/Application Support/loadimpact/k6/config.json |
Windows | %AppData%/loadimpact/k6/config.json |
Available in k6 run and k6 cloud commands:
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --config <path>, -c <path> | N/A | null |
Puede encontrar un ejemplo de archivo de configuración disponible aquí.
Console Output
Redirecciona logs del terminal a un fichero. Disponible en los comandos k6 cloud y k6 run.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_CONSOLE_OUTPUT | --console-output | N/A | null |
Discard Response Bodies
Especifica si los cuerpos de respuesta deben ser descartados cambiando el valor por defecto del tipo de respuesta a none para todas las peticiones HTTP. Se recomienda que se establezca en true y entonces sólo para las peticiones en las que el cuerpo de la respuesta es necesario para el scripting para establecer el tipo de respuesta a text o binary. Reduce la cantidad de memoria requerida y la cantidad de GC - reduciendo la carga en la máquina de pruebas, y probablemente produciendo resultados de pruebas más fiables.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_DISCARD_RESPONSE_BODIES | --discard-response-bodies | discardResponseBodies | false |
DNS
Nuevo en v0.29.0
Esta es una opción compuesta que proporciona el control del comportamiento de la resolución DNS con la configuración de la expiración de la cache (TTL), la estrategia de selección de IP y la preferencia de la versión de IP. El campo TTL en el registro DNS actualmente no es leído por k6, por lo que la opción ttl permite el control manual de este comportamiento, aunque como un valor fijo para la duración de la ejecución de la prueba.
Tenga en cuenta que la resolución de DNS se realiza sólo en las nuevas conexiones HTTP, y por defecto k6 intentará reutilizar las conexiones si HTTP keep-alive está soportado. Para forzar un determinado comportamiento de DNS considere habilitar la opción noConnectionReuse en sus pruebas.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_DNS | --dns | dns | ttl=5m,select=random,policy=preferIPv4 |
Los posibles valores de ttl son:
- 0: no se almacena en caché en absoluto - cada petición desencadenará una nueva búsqueda de DNS.
- inf: se almacena en caché cualquier IP resuelta durante la duración de la prueba. cualquier duración de tiempo como 60s, 5m30s, 10m, 2h, etc.; si no se especifica ninguna unidad (por ejemplo, ttl=3000), k6 asume milisegundos.
Los posibles valores de select son:
- first: elige siempre la primera IP resuelta.
- random: elige una IP aleatoria para cada nueva conexión.
- roundRobin: iterar secuencialmente sobre las IPs resueltas.
Los posibles valores de policy son:
- preferIPv4: utiliza direcciones IPv4 si están disponibles, en caso contrario, volver a IPv6.
- preferIPv6: utiliza direcciones IPv6 si están disponibles, en caso contrario, volver a IPv4.
- onlyIPv4: sólo utiliza direcciones IPv4, ignora las IPv6.
- onlyIPv6: sólo utiliza direcciones IPv6, ignora las IPv4.
- any: no hay preferencia, utiliza todas las direcciones.
He aquí algunos ejemplos de configuración:
Duration
Una cadena que especifica la duración total de la ejecución de una prueba. Durante este tiempo, cada VU ejecutará el script en un bucle.
Junto con la opción vus, la duración es un atajo para un escenario único con un ejecutor de VUs constante.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_DURATION | --duration, -d | duration | null |
Extension Options
Un objeto utilizado para establecer las opciones de configuración de los colectores de terceros, como los plugins.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | N/A | ext | null |
Este es un ejemplo de cómo especificar el nombre de la prueba (las ejecuciones de la prueba con el mismo nombre se agruparán lógicamente para las tendencias y la comparación) al transmitir los resultados a k6 Cloud Performance Insights.
Execution Segment
Estas opciones especifican cómo dividir la ejecución de la prueba y qué segmento ejecutar. Si se definen, K6 escalará el número de VUs e iteraciones a ejecutar para ese segmento, lo cual es útil en la ejecución distribuida.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --execution-segment | executionSegment | "0:1" |
N/A | --execution-segment-sequence | executionSegmentSequence | "0,1" |
Exit On Running
Un boleano indicando si el comando debe salir cuando el test empieza a ejecutarse - estado running. Disponible en el comando k6 cloud.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_EXIT_ON_RUNNING | --exit-on-running | N/A | false |
Hosts
Un objeto con anulaciones de la resolución DNS, similar a lo que puede hacer con /etc/hosts en Linux/Unix o C:\Windows\System32\drivers\etc\hosts en Windows. Por ejemplo, puede configurar una anulación que dirija todas las solicitudes de test.k6.io a 1.2.3.4.
También es posible ampliar o especificar la anulación:
- Redirigiendo desde o hacia puertos en específico.
- A partir de la version v0.42.0, puede utilizar un asterisco (*) al principio del nombre del servidor, para evitar repetición. Por ejemplo, *.k6.io aplicaría la anulación para todos los subdominios de k6.io.
⚠️ Tenga en cuenta que!
Esto no modifica la cabecera HTTP Host propiamente dicha, sino hacia dónde se dirigirá.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | N/A | hosts | null |
Con el código anterior cualquier petición hecha a test.k6.io será redirigida a 1.2.3.4, manteniendo el mismo puerto. Si la petición es al puerto 443, será redirigida al puerto 8443. También redigirá peticiones a cualquier subdominio de grafana.com a 1.2.3.4.
HTTP Debug
Registra todas las peticiones y respuestas HTTP. Excluye el cuerpo por defecto, para incluir el cuerpo use --http-debug=full.
Lea más aquí.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_HTTP_DEBUG | --http-debug, --http-debug=full | httpDebug | false |
Include System Env Vars
Pasa las variables del entorno del sistema real al tiempo de ejecución.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --include-system-env-vars | N/A | true para k6 run, pero false para todos los demás comandos para evitar la filtración inadvertida de datos sensibles. |
Insecure Skip TLS Verify
Un booleano, verdadero o falso. Cuando esta opción está habilitada (establecida en true), todas las verificaciones que de otro modo se harían para establecer la confianza en un certificado TLS proporcionado por el servidor serán ignoradas. Esto sólo se aplica a las conexiones creadas por el código de la VU, como las solicitudes http.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_INSECURE_SKIP_TLS_VERIFY | --insecure-skip-tls-verify | insecureSkipTLSVerify | false |
Iterations
Un valor entero, que especifica el número total de iteraciones de la función por defecto que se ejecutará en prueba, en lugar de especificar una duración de tiempo durante la cual el script se ejecutará en un bucle.
Junto con la opción vus, iterations es un atajo para un único escenario con un ejecutor de iteraciones compartido.
Por defecto, la duración máxima de un escenario de iteraciones compartidas es de 10 minutos. Puedes ajustar ese tiempo a través de la opción maxDuration del escenario, o especificando también la opción de acceso directo global duration. Tenga en cuenta que las iteraciones no se distribuyen equitativamente con esta opción, y un VU que se ejecute más rápido completará más iteraciones que otras. Cada VU intentará completar tantas iteraciones como sea posible, "tomándolas" del número total de iteraciones de la prueba. Así, dependiendo de los tiempos de iteración, algunas VUs pueden completar más iteraciones que otras. Si quiere garantizar que cada VU completará un número específico y fijo de iteraciones, utilice el ejecutor de iteraciones por VU.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_ITERATIONS | --iterations, -i | iterations | 1 |
O, para ejecutar 10 VUs 10 veces cada una:
Linger
Un booleano, verdadero o falso, que especifica si el proceso k6 debe permanecer después de la finalización de la prueba. Disponible en el comando de ejecución k6 run.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_LINGER | --linger, -l | linger | false |
Local IPs
Una lista de IPs, rangos de IPs y CIDRs desde los que las VUs harán peticiones. Las IPs serán entregadas secuencialmente a las VUs. Esta opción no cambia nada a nivel del SO, por lo que las IPs deben estar ya configuradas a nivel del SO para que k6 pueda utilizarlas. También los CIDRs IPv4 con más de 2 IPs no incluyen la primera y la última IP ya que están reservadas para referirse a la propia red y a la dirección de difusión respectivamente.
Esta opción puede utilizarse para dividir el tráfico de red de k6 entre varias tarjetas de red, aumentando así potencialmente el rendimiento de red disponible. Por ejemplo, si tiene 2 NICs, puede ejecutar k6 con --local-ips="<IP-del-primer-NIC>,<IP-del-segundo-NIC>" para equilibrar el tráfico de forma equitativa entre ellos - la mitad de los VUs utilizarán la primera IP y la otra mitad la segunda. Esto puede escalar a cualquier número de NICs, y puede repetir algunas IPs locales para darles más tráfico. Por ejemplo, --local-ips="<IP1>,<IP2>,<IP3>,<IP3>" dividirá los VUs entre 3 IPs de origen diferentes en una proporción 25%:25%:50%.
Disponible en el comando de ejecución k6 run.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_LOCAL_IPS | --local-ips | N/A | N/A |
Log output
Esta opción especifica a dónde enviar los registros y otra configuración conectada a ella. Está disponible en el comando de ejecución k6 run.
Los valores posibles son:
- none - deshabilitar
- stdout - enviar a la salida estándar
- stderr - enviar a la salida de error estándar (este es el valor por defecto)
- loki - envía los registros a un servidor loki. Leer más en el tutorial de Loki
El servidor loki puede configurarse adicionalmente de la siguiente manera: loki=http://127.0.0.1:3100/loki/api/v1/push,label.something=else,label.foo=bar,limit=32,level=info,pushPeriod=5m32s,msgMaxSize=1231, donde todo, excepto la url del principio, no es necesario. Las posibles claves con sus significados y valores por defecto:
key | meaning | default value |
---|---|---|
nothing | el endpoint al cual se enviarán los registros | http://127.0.0.1:3100/loki/api/v1/push |
allowedLabels | si se establece k6 sólo enviará las etiquetas proporcionadas como tales y todas las demás se añadirán al mensaje en la forma clave=valor. El valor de la opción tiene la forma [label1,label2] | N/A |
label.labelName | añade una etiqueta adicional con la clave y el valor proporcionados a cada mensaje | N/A |
limit | el límite de mensajes por pushPeriod, se envía un registro adicional cuando se alcanza el límite, registrando cuántos registros se han dejado caer | 100 |
level | el nivel mínimo de un mensaje para que sea enviado a loki | all |
pushPeriod | a qué hora enviar las líneas de registro | 1s |
profile | si imprimir alguna información sobre el rendimiento del envío a loki | false |
msgMaxSize | cuántos símbolos puede haber como máximo en un mensaje. Los mensajes más grandes perderán la mitad del mensaje con unos pocos caracteres adicionales que explican cuántos caracteres se han eliminado. | 1048576 |
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_LOG_OUTPUT | --log-output | N/A | stderr |
LogFormat
Un valor que especifica el formato del registro. Por defecto, k6 incluye información extra de depuración como la fecha y el nivel de registro. Las otras opciones disponibles son:
- json: imprime toda la información de depuración en formato JSON.
- raw: imprime sólo el mensaje de registro.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_LOG_FORMAT | --log-format, -f | N/A |
Max Redirects
El número máximo de redirecciones HTTP que k6 seguirá antes de abandonar una solicitud y dar un error.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_MAX_REDIRECTS | --max-redirects | maxRedirects | 10 |
Minimum Iteration Duration
Especifica la duración mínima que debe tener cada una de las ejecuciones (es decir, iteraciones) de la función default. Cualquier iteración que sea más corta que este valor hará que ese VU duerma durante el tiempo restante hasta que se alcance la duración mínima especificada.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_MIN_ITERATION_DURATION | --min-iteration-duration | minIterationDuration | 0 (disabled) |
No Color
Especifica si el color de la salida en el terminal está deshabilitado. Disponible en los comandos k6 run y k6 cloud.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --no-color | N/A | false |
No Connection Reuse
Un booleano, verdadero o falso, que especifica si k6 debe desactivar las conexiones keep-alive.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_NO_CONNECTION_REUSE | --no-connection-reuse | noConnectionReuse | false |
No Cookies Reset
Esto deshabilita el comportamiento por defecto de restablecer el tarro de cookies después de cada iteración del VU. Si se habilita, las cookies guardadas se mantendrán a través de las iteraciones del VU.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_NO_COOKIES_RESET | N/A | noCookiesReset | false |
No Summary
Desactiva el end-of-test summary generation. Desde v0.30.0, k6 incluye handleSummary() and --summary-export.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_NO_SUMMARY | --no-summary | N/A | false |
No Setup
Especifica si la función setup() debe ejecutarse. Disponible en los comandos k6 cloud y k6 run.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_NO_SETUP | --no-setup | N/A | false |
No Teardown
Especifica si la función teardown() debe ejecutarse. Disponible en los comandos k6 cloud y k6 run.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_NO_TEARDOWN | --no-teardown | N/A | false |
No Thresholds
Desactiva la ejecución de Thresholds.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_NO_THRESHOLDS | --no-thresholds | N/A | false |
No Usage Report
Un booleano, verdadero o falso. Por defecto, k6 envía un informe de uso cada vez que se ejecuta, para que podamos hacer un seguimiento de la frecuencia de uso. Si esta opción se establece como verdadera, no se realizará ningún informe de uso. Para saber más, eche un vistazo a la documentación sobre los informes de uso. Disponible en k6 run.
Env | CLI | Config file | Default |
---|---|---|---|
K6_NO_USAGE_REPORT | --no-usage-report | noUsageReport* | false |
* Note que esta opción no puede ser especificada en el script, pero sí en un archivo de configuración.
No VU Connection Reuse
Un booleano, verdadero o falso, que especifica si k6 debe reutilizar las conexiones TCP entre las iteraciones de un VU.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_NO_VU_CONNECTION_REUSE | --no-vu-connection-reuse | noVUConnectionReuse | false |
Paused
Un booleano, verdadero o falso, que especifica si la prueba debe comenzar en un estado de pausa. Para reanudar un estado de pausa se utilizará el comando k6 resume.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_PAUSED | --paused, -p | paused | false |
Quiet
Un booleano, verdadero o falso, que deshabilita la barra de progreso en la salida del terminal. Disponible en los commands k6 run y k6 cloud.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --quiet, -q | N/A | false |
Results Output
Especifique la salida de resultados. Por favor, vaya a Salida de resultados para más información sobre todos los módulos de salida disponibles y cómo configurarlos. Disponible en el comando de ejecución k6 run.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --out, -o | N/A | null |
RPS
El número máximo de peticiones a realizar por segundo, en total en todas los VUs.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_RPS | --rps | rps | 0 (unlimited) |
Esta opción tiene algunas advertencias y es difícil de utilizar correctamente, por lo que se desaconseja su uso. Por ejemplo, en la ejecución en k6 Cloud o distribuida, esta opción afecta a cada instancia de k6 de forma independiente, es decir, no está fragmentada como los VU. Recomendamos encarecidamente el uso de Scenarios para simular un RPS constante en lugar de esta opción.
Scenarios
Defina uno o más patrones de ejecución, con varias configuraciones de programación de VU e iteraciones, ejecutando diferentes funciones exportadas (¡además de las predeterminadas!), utilizando diferentes variables de entorno, etiquetas y más. Consulte el artículo Escenarios para obtener detalles y más ejemplos.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | N/A | scenarios | null |
Setup Timeout
Especifica el tiempo que se permite ejecutar la función setup() antes de que se termine y la prueba falle.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_SETUP_TIMEOUT | N/A | setupTimeout | "60s" |
Show Logs
Especifica si los logs de cloud se muestran en el terminal. Disponible en el comando k6 cloud.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --show-logs | N/A | true |
Stages
Una lista de VU { target: ..., duration: ... } que especifican el número objetivo de VUs para aumentar o disminuir durante un período específico.
Es una opción de acceso directo para un escenario único con un ejecutor de VUs en rampa. Si se utiliza junto con la opción VUs, el valor vus se utiliza como la opción startVUs del ejecutor.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_STAGES | --stage <duration>:<target>, -s <duration>:<target> | stages | Based on vus and duration. |
Summary export
Guarde el informe de resumen de fin de prueba en un archivo JSON que incluya los datos de todas las métricas, comprobaciones y umbrales de la prueba. Esto es útil para obtener los resultados agregados de las pruebas en un formato legible por la máquina, para la integración con paneles de control, alertas externas, tuberías de CI, etc.
A partir de k6 v0.30.0, aunque esta característica no está obsoleta todavía, se desaconseja su uso, vea la explicación del porqué aquí. Para una mejor y más flexible exportación de JSON, así como la exportación de los datos del resumen a diferentes formatos (por ejemplo, JUnit/XUnit/etc. XML, HTML, .txt) y una completa personalización del resumen, vea el nuevo callback handleSummary().
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_SUMMARY_EXPORT | --summary-export <filename> | N/A | null |
Vea un archivo de ejemplo en la página de resultados page.
Supply Env Var
Añade o sustituye una variable de entorno con VAR=valor.
Para que las variables de entorno del sistema estén disponibles en el script de k6 a través de __ENV, utilice la opción --include-system-env-vars.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --env, -e | N/A | null |
System Tags
Especifique qué Tags del sistema estarán en las métricas recopiladas. Algunos recopiladores, como el de la nube, pueden requerir que se utilicen determinadas etiquetas del sistema. Puede especificar las etiquetas como un array desde los scripts JS o como una lista separada por comas a través de la CLI.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_SYSTEM_TAGS | --system-tags | systemTags | proto,subproto,status,method,url,name,group,check,error,error_code,tls_version,scenario,service,expected_response |
Summary Time Unit
Define la unidad de tiempo en resumen de fin de tests. Lo valores posibles son s (segundos), ms (milisegundos) y us (microsegundos). Si no es especificado, k6 usará la unidad más apropiada para cada valor.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_SUMMARY_TIME_UNIT | --summary-time-unit | summaryTimeUnit | null |
Summary Trend Stats
Defina qué estadísticas de las métricas de tendencia (por ejemplo, tiempos de respuesta, duraciones de grupo/de iteración, etc.) se mostrarán en el resumen de fin de prueba. Los valores posibles incluyen avg (media), med (mediana), min, max, count (desde k6 v0.26.0), así como valores de percentil arbitrarios (por ejemplo, p(95), p(99), p(99.99), etc.).
Para una mayor personalización del resumen y la exportación del mismo en varios formatos (por ejemplo, JSON, JUnit/XUnit/etc. XML, HTML, .txt, etc.), véase la nueva llamada de retorno handleSummary() introducida en k6 v0.30.0.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_SUMMARY_TREND_STATS | --summary-trend-stats | summaryTrendStats | null |
Tags
Especifique las etiquetas que deben establecerse a nivel de prueba en todas las métricas. Si se ha especificado una etiqueta con el mismo nombre en una solicitud, una comprobación o una métrica personalizada, tendrá prioridad sobre una etiqueta de prueba.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --tag NAME=VALUE | tags | null |
Teardown Timeout
Especifica cuánto tiempo se permite que se ejecute la función teardown() antes de que se termine y la prueba falle.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_TEARDOWN_TIMEOUT | N/A | teardownTimeout | "60s" |
Thresholds
Una colección de especificaciones de umbrales para configurar bajo qué condición(es) se considera que una prueba ha tenido éxito o no, cuando ha pasado o fallado, basándose en los datos métricos. Para obtener más información, consulte la documentación sobre Thresholds.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | N/A | thresholds | null |
Throw
Un booleano, verdadero o falso, que especifica si se lanzan errores en las peticiones HTTP fallidas o no.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_THROW | --throw, -w | throw | false |
TLS Auth
Una lista de objetos de configuración de certificados de cliente TLS. domains y password son opcionales, pero cert y key son obligatorios.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | N/A | tlsAuth | null |
TLS Cipher Suites
Una lista de suites de cifrado permitidas para ser utilizadas por en las interacciones SSL/TLS con un servidor. Para una lista completa de cifrados disponibles, vaya aquí.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | N/A | tlsCipherSuites | null (Allow all suites) |
TLS Version
Either a string representing the only SSL/TLS version allowed to be used in interactions with a server, or an object specifying the "min" and "max" versions allowed to be used.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | N/A | tlsVersion | null (Allow all versions) |
User Agent
Una cadena que especifica la cadena de agente de usuario a utilizar en las cabeceras User-Agent cuando se envían peticiones HTTP. Si se establece como una cadena vacía no se enviará una cabecera User-Agent desde la v0.29.0.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_USER_AGENT | --user-agent | userAgent | k6/0.27.0 (https://k6.io/) (depending on the version you're using)` |
Verbose
Especifica si el modo verboso del logging está habilitado. Disponible en los comandos k6 run y k6 cloud.
Env | CLI | Code / Config file | Default |
---|---|---|---|
N/A | --verbose, -v | N/A | false |
VUs
Un valor entero que especifica el número de VUs a ejecutar simultáneamente, utilizado junto con las opciones de iteraciones o duración. Si desea un mayor control, consulte la opción de stages o scenarios.
Env | CLI | Code / Config file | Default |
---|---|---|---|
K6_VUS | --vus, -u | vus | 1 |