No results for

Powered byAlgolia

Las opciones le permiten configurar cómo se comportará k6 durante la ejecución de la prueba.

OptionDescription
AddressDirección del servidor para la REST API
BatchNúmero máximo de conexiones simultáneas de una llamada http.batch()
Batch per hostNúmero máximo de conexiones simultáneas de una llamada http.batch() para un host
Blacklist IPsBlacklist de rangos de IP para no ser llamados
Block hostnamesBloquear cualquier petición a nombres de host específicos
Compatibility ModeSoporta la ejecución de scripts con diferentes modos de ECMAScript
ConfigEspecificar el archivo de configuración en formato JSON para leer los valores de las opciones
Console OutputRedirecciona logs de la consola a un fichero
Discard Response BodiesEspecificar si los cuerpos de respuesta deben ser descartados
DNSConfigurar el comportamiento de la resolución DNS
DurationUna cadena que especifica la duración total de la ejecución de una prueba
Execution SegmentLimitar la ejecución a un segmento de la prueba total
Exit On RunningAcaba cuando el test finaliza el estado ejecutándose
Extension OptionsUn objeto utilizado para establecer las opciones de configuración de los recolectores de terceros
HostsUn objeto con anulaciones de la resolución DNS
HTTP DebugLogear todas las peticiones y respuestas HTTP
Include System Env VarsPasar las variables de entorno del sistema real al tiempo de ejecución
Insecure Skip TLS VerifyUn booleano que especifica si se deben ignorar las verificaciones TLS para las conexiones VU
IterationsUn número que especifica un número fijo de iteraciones a ejecutar el script
LingerUn booleano que especifica si k6 debe permanecer tras la finalización de la ejecución de la prueba
Local IPsUna lista de IPs locales, rangos de IPs y CIDRs desde los que las VUs harán peticiones
Log OutputConfiguración sobre dónde deben enviarse los registros de k6
LogFormatEspecificar el formato de la salida de los logs
Max RedirectsEl número máximo de redirecciones HTTP que seguirá k6
Minimum Iteration DurationEspecificar la duración mínima de cada ejecución
No ColorEspecifica si el color de la salida en el terminal está deshabilitado
No Connection ReuseUn booleano que especifica si k6 debe desactivar las conexiones keep-alive
No Cookies ResetEsto desactiva el restablecimiento del tarro de galletas después de cada iteración de la VU
No SummaryDesactiva el resumen de fin de test
No SetupUn booleano indicando si la función setup() está deshabilitada
No TeardownUn booleano indicando si la función teardown() está deshabilitada
No ThresholdsDesactiva la ejecución de Thresholds
No Usage ReportUn booleano que especifica si k6 debe enviar un informe de uso
No VU Connection ReuseUn booleano que especifica si k6 debe reutilizar las conexiones TCP
PausedUn booleano que especifica si la prueba debe comenzar en estado de pausa
QuietUn booleano que especifica si mostrar la barra de progreso del test en el terminal
Results OutputEspecifica la salida de resultados
RPSEl número máximo de peticiones a realizar por segundo
ScenariosDefinir escenarios de ejecución avanzados
Setup TimeoutEspecificar el tiempo de ejecución de la función setup() antes de su finalización
Show LogsUn boleano especificando si los logs de cloud son mostrados en el terminal
StagesUna lista de objetos que especifican el número objetivo de VUs para subir o bajar
Summary exportGuarda el informe de resumen de fin de prueba en un archivo JSON
Supply Env VarAñadir/sustituir la variable de entorno con VAR=valor
System TagsEspecificar qué etiquetas del sistema estarán en las métricas recogidas
Summary Time UnitUnidad de tiempo para todos los valores del resumen del fin de test
Summary Trend StatsDefinir las estadísticas de las métricas de tendencia
TagsEspecificar tags que deben establecerse en todas las métricas de la prueba
Teardown TimeoutEspecifica el tiempo de ejecución de la función teardown() antes de su finalización
ThresholdsConfigurar bajo qué condiciones una prueba tiene éxito o no
ThrowUn booleano que especifica si se lanzan errores en las peticiones HTTP fallidas
TLS AuthUna lista de objetos de configuración del certificado de cliente TLS
TLS Cipher SuitesUna lista de suites de cifrado que se pueden utilizar en las interacciones SSL/TLS con un servidor
TLS VersionString u objeto que representa la única versión SSL/TLS permitida
User AgentUn string que especifica la cabecera User-Agent al enviar solicitudes HTTP
VerboseUn boleando especifiando si el logging verboso está habilidado
VUsUn 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:

example.js
1import http from 'k6/http';
2
3export const options = {
4 hosts: { 'test.k6.io': '1.2.3.4' },
5 stages: [
6 { duration: '1m', target: 10 },
7 { duration: '1m', target: 20 },
8 { duration: '1m', target: 0 },
9 ],
10 thresholds: { http_req_duration: ['avg<100', 'p(95)<200'] },
11 noConnectionReuse: true,
12 userAgent: 'MyK6UserAgentString/1.0',
13};
14
15export default function () {
16 http.get('http://test.k6.io/');
17}

También puede establecer las mismas opciones a través de un archivo de configuración:

config.json
1{
2 "hosts": {
3 "test.k6.io": "1.2.3.4"
4 },
5 "stages": [
6 {
7 "duration": "1m",
8 "target": 10
9 },
10 {
11 "duration": "1m",
12 "target": 30
13 },
14 {
15 "duration": "1m",
16 "target": 0
17 }
18 ],
19 "thresholds": {
20 "http_req_duration": ["avg<100", "p(95)<200"]
21 },
22 "noConnectionReuse": true,
23 "userAgent": "MyK6UserAgentString/1.0"
24}

O establecer algunas de las opciones anteriores a través de variables de entorno y flags de línea de comandos:

Bash
1$ K6_NO_CONNECTION_REUSE=true K6_USER_AGENT="MyK6UserAgentString/1.0" k6 run ~/script.js
2
3$ k6 run ---no-connection-reuse --user-agent "MyK6UserAgentString/1.0" ~/script.js

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.

EnvCLICode / Config fileDefault
N/A--address, -aN/Alocalhost:6565
$ k6 run --address "localhost:3000" script.js

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.

EnvCLICode / Config fileDefault
K6_BATCH--batchbatch20
1export const options = {
2 batch: 15,
3};

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.

EnvCLICode / Config fileDefault
K6_BATCH_PER_HOST--batch-per-hostbatchPerHost6
1export const options = {
2 batchPerHost: 5,
3};

Blacklist IPs

Blacklist de IP para no ser llamados.

EnvCLICode / Config fileDefault
K6_BLACKLIST_IPS--blacklist-ipblacklistIPsnull
1export const options = {
2 blacklistIPs: ['10.0.0.0/8'],
3};

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.

EnvCLICode / Config fileDefault
K6_BLOCK_HOSTNAMES--block-hostnamesblockHostnamesnull
1export const options = {
2 blockHostnames: ['test.k6.io', '*.example.com'],
3};
$ k6 run --block-hostnames="test.k6.io,*.example.com" script.js

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.

EnvCLICode / Config fileDefault
K6_COMPATIBILITY_MODE--compatibility-modeN/A"extended"
$ k6 run --compatibility-mode=base script.js

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:

OSDefault 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:

EnvCLICode / Config fileDefault
N/A--config <path>, -c <path>N/Anull

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.

EnvCLICode / Config fileDefault
K6_CONSOLE_OUTPUT--console-outputN/Anull
$ k6 run --console-output "loadtest.log" script.js

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.

EnvCLICode / Config fileDefault
K6_DISCARD_RESPONSE_BODIES--discard-response-bodiesdiscardResponseBodiesfalse
1export const options = {
2 discardResponseBodies: true,
3};

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.

EnvCLICode / Config fileDefault
K6_DNS--dnsdnsttl=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:

k6 run --dns "ttl=inf,select=first,policy=any" script.js # the old k6 behavior before v0.29.0
K6_DNS="ttl=5m,select=random,policy=preferIPv4" k6 cloud script.js # new default behavior from v0.29.0
script.js
1export const options = {
2 dns: {
3 ttl: '1m',
4 select: 'roundRobin',
5 policy: 'any',
6 },
7};

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.

EnvCLICode / Config fileDefault
K6_DURATION--duration, -ddurationnull
1export const options = {
2 duration: '3m',
3};

Extension Options

Un objeto utilizado para establecer las opciones de configuración de los colectores de terceros, como los plugins.

EnvCLICode / Config fileDefault
N/AN/Aextnull

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.

1export const options = {
2 ext: {
3 loadimpact: {
4 name: 'My test name',
5 },
6 },
7};

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.

EnvCLICode / Config fileDefault
N/A--execution-segmentexecutionSegment"0:1"
N/A--execution-segment-sequenceexecutionSegmentSequence"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.

EnvCLICode / Config fileDefault
K6_EXIT_ON_RUNNING--exit-on-runningN/Afalse
$ k6 cloud --exit-on-running script.js

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á.

EnvCLICode / Config fileDefault
N/AN/Ahostsnull
1export const options = {
2 hosts: {
3 'test.k6.io': '1.2.3.4',
4 'test.k6.io:443': '1.2.3.4:8443',
5 '*.grafana.com': '1.2.3.4',
6 },
7};

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í.

EnvCLICode / Config fileDefault
K6_HTTP_DEBUG--http-debug,
--http-debug=full
httpDebugfalse
1export const options = {
2 httpDebug: 'full',
3};

Include System Env Vars

Pasa las variables del entorno del sistema real al tiempo de ejecución.

EnvCLICode / Config fileDefault
N/A--include-system-env-varsN/Atrue para k6 run, pero false para todos los demás comandos para evitar la filtración inadvertida de datos sensibles.
Shell
1$ k6 run --include-system-env-vars ~/script.js

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.

EnvCLICode / Config fileDefault
K6_INSECURE_SKIP_TLS_VERIFY--insecure-skip-tls-verifyinsecureSkipTLSVerifyfalse
1export const options = {
2 insecureSkipTLSVerify: true,
3};

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.

EnvCLICode / Config fileDefault
K6_ITERATIONS--iterations, -iiterations1
1export const options = {
2 iterations: 10,
3};

O, para ejecutar 10 VUs 10 veces cada una:

1export const options = {
2 vus: 10,
3 iterations: 100,
4};

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.

EnvCLICode / Config fileDefault
K6_LINGER--linger, -llingerfalse
1export const options = {
2 linger: true,
3};

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.

EnvCLICode / Config fileDefault
K6_LOCAL_IPS--local-ipsN/AN/A
$ k6 run --local-ips=192.168.20.12-192.168.20-15,192.168.10.0/27 script.js

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:

keymeaningdefault value
nothingel endpoint al cual se enviarán los registroshttp://127.0.0.1:3100/loki/api/v1/push
allowedLabelssi 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.labelNameañade una etiqueta adicional con la clave y el valor proporcionados a cada mensajeN/A
limitel 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 caer100
levelel nivel mínimo de un mensaje para que sea enviado a lokiall
pushPerioda qué hora enviar las líneas de registro1s
profilesi imprimir alguna información sobre el rendimiento del envío a lokifalse
msgMaxSizecuá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
EnvCLICode / Config fileDefault
K6_LOG_OUTPUT--log-outputN/Astderr
1$ k6 run --log-output=stdout script.js

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.
EnvCLICode / Config fileDefault
K6_LOG_FORMAT--log-format, -fN/A
1$ k6 run --log-format raw test.js

Max Redirects

El número máximo de redirecciones HTTP que k6 seguirá antes de abandonar una solicitud y dar un error.

EnvCLICode / Config fileDefault
K6_MAX_REDIRECTS--max-redirectsmaxRedirects10
1export const options = {
2 maxRedirects: 10,
3};

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.

EnvCLICode / Config fileDefault
K6_MIN_ITERATION_DURATION--min-iteration-durationminIterationDuration0 (disabled)
1export const options = {
2 minIterationDuration: '10s',
3};

No Color

Especifica si el color de la salida en el terminal está deshabilitado. Disponible en los comandos k6 run y k6 cloud.

EnvCLICode / Config fileDefault
N/A--no-colorN/Afalse
$ k6 run --no-color script.js

No Connection Reuse

Un booleano, verdadero o falso, que especifica si k6 debe desactivar las conexiones keep-alive.

EnvCLICode / Config fileDefault
K6_NO_CONNECTION_REUSE--no-connection-reusenoConnectionReusefalse
1export const options = {
2 noConnectionReuse: true,
3};

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.

EnvCLICode / Config fileDefault
K6_NO_COOKIES_RESETN/AnoCookiesResetfalse
1export const options = {
2 noCookiesReset: true,
3};

No Summary

Desactiva el end-of-test summary generation. Desde v0.30.0, k6 incluye handleSummary() and --summary-export.

EnvCLICode / Config fileDefault
K6_NO_SUMMARY--no-summaryN/Afalse
1$ k6 run --no-summary ~/script.js

No Setup

Especifica si la función setup() debe ejecutarse. Disponible en los comandos k6 cloud y k6 run.

EnvCLICode / Config fileDefault
K6_NO_SETUP--no-setupN/Afalse
$ k6 run --no-setup script.js

No Teardown

Especifica si la función teardown() debe ejecutarse. Disponible en los comandos k6 cloud y k6 run.

EnvCLICode / Config fileDefault
K6_NO_TEARDOWN--no-teardownN/Afalse
$ k6 run --no-teardown script.js

No Thresholds

Desactiva la ejecución de Thresholds.

EnvCLICode / Config fileDefault
K6_NO_THRESHOLDS--no-thresholdsN/Afalse
1$ k6 run --no-thresholds ~/script.js

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.

EnvCLIConfig fileDefault
K6_NO_USAGE_REPORT--no-usage-reportnoUsageReport*false
$ k6 run --no-usage-report ~/script.js

* 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.

EnvCLICode / Config fileDefault
K6_NO_VU_CONNECTION_REUSE--no-vu-connection-reusenoVUConnectionReusefalse
1export const options = {
2 noVUConnectionReuse: true,
3};

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.

EnvCLICode / Config fileDefault
K6_PAUSED--paused, -ppausedfalse
1export const options = {
2 paused: true,
3};

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.

EnvCLICode / Config fileDefault
N/A--quiet, -qN/Afalse
1$ k6 run script.js -d 20s --quiet

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.

EnvCLICode / Config fileDefault
N/A--out, -oN/Anull
Shell
1$ k6 run --out influxdb=http://localhost:8086/k6 script.js

RPS

El número máximo de peticiones a realizar por segundo, en total en todas los VUs.

EnvCLICode / Config fileDefault
K6_RPS--rpsrps0 (unlimited)
1export const options = {
2 rps: 500,
3};

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.

EnvCLICode / Config fileDefault
N/AN/Ascenariosnull
1export const options = {
2 scenarios: {
3 my_api_scenario: {
4 // arbitrary scenario name
5 executor: 'ramping-vus',
6 startVUs: 0,
7 stages: [
8 { duration: '5s', target: 100 },
9 { duration: '5s', target: 0 },
10 ],
11 gracefulRampDown: '10s',
12 env: { MYVAR: 'example' },
13 tags: { my_tag: 'example' },
14 },
15 },
16};

Setup Timeout

Especifica el tiempo que se permite ejecutar la función setup() antes de que se termine y la prueba falle.

EnvCLICode / Config fileDefault
K6_SETUP_TIMEOUTN/AsetupTimeout"60s"
1export const options = {
2 setupTimeout: '30s',
3};

Show Logs

Especifica si los logs de cloud se muestran en el terminal. Disponible en el comando k6 cloud.

EnvCLICode / Config fileDefault
N/A--show-logsN/Atrue
$ k6 cloud --show-logs=false script.js

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.

EnvCLICode / Config fileDefault
K6_STAGES--stage <duration>:<target>, -s <duration>:<target>stagesBased on vus and duration.
Code
Shell
1// The following config would have k6 ramping up from 1 to 10 VUs for 3 minutes,
2// then staying flat at 10 VUs for 5 minutes, then ramping up from 10 to 35 VUs
3// over the next 10 minutes before finally ramping down to 0 VUs for another
4// 3 minutes.
5
6export const options = {
7 stages: [
8 { duration: '3m', target: 10 },
9 { duration: '5m', target: 10 },
10 { duration: '10m', target: 35 },
11 { duration: '3m', target: 0 },
12 ],
13};

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().

EnvCLICode / Config fileDefault
K6_SUMMARY_EXPORT--summary-export <filename>N/Anull
Shell
1$ k6 run --summary-export export.json ~/script.js
2
3# or...
4
5$ K6_SUMMARY_EXPORT="export.json" k6 run ~/script.js

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.

EnvCLICode / Config fileDefault
N/A--env, -eN/Anull
Shell
1$ k6 run -e FOO=bar ~/script.js

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.

EnvCLICode / Config fileDefault
K6_SYSTEM_TAGS--system-tagssystemTagsproto,subproto,status,method,url,name,group,check,error,error_code,tls_version,scenario,service,expected_response
1export const options = {
2 systemTags: ['status', 'method', 'url'],
3};

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.

EnvCLICode / Config fileDefault
K6_SUMMARY_TIME_UNIT--summary-time-unitsummaryTimeUnitnull
1export const options = {
2 summaryTimeUnit: 'ms',
3};

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.

EnvCLICode / Config fileDefault
K6_SUMMARY_TREND_STATS--summary-trend-statssummaryTrendStatsnull
1export const options = {
2 summaryTrendStats: ['avg', 'p(95)'],
3};

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.

EnvCLICode / Config fileDefault
N/A--tag NAME=VALUEtagsnull
1export const options = {
2 tags: {
3 name: 'value',
4 },
5};

Teardown Timeout

Especifica cuánto tiempo se permite que se ejecute la función teardown() antes de que se termine y la prueba falle.

EnvCLICode / Config fileDefault
K6_TEARDOWN_TIMEOUTN/AteardownTimeout"60s"
1export const options = {
2 teardownTimeout: '30s',
3};

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.

EnvCLICode / Config fileDefault
N/AN/Athresholdsnull
1export const options = {
2 thresholds: {
3 'http_req_duration': ['avg<100', 'p(95)<200'],
4 'http_req_connecting{cdnAsset:true}': ['p(95)<100'],
5 },
6};

Throw

Un booleano, verdadero o falso, que especifica si se lanzan errores en las peticiones HTTP fallidas o no.

EnvCLICode / Config fileDefault
K6_THROW--throw, -wthrowfalse
1export const options = {
2 throw: true,
3};

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.

EnvCLICode / Config fileDefault
N/AN/AtlsAuthnull
1export const options = {
2 tlsAuth: [
3 {
4 domains: ['example.com'],
5 cert: open('mycert.pem'),
6 key: open('mycert-key.pem'),
7 password: 'mycert-passphrase',
8 },
9 ],
10};

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í.

EnvCLICode / Config fileDefault
N/AN/AtlsCipherSuitesnull (Allow all suites)
1export const options = {
2 tlsCipherSuites: ['TLS_RSA_WITH_RC4_128_SHA', 'TLS_RSA_WITH_AES_128_GCM_SHA256'],
3};

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.

EnvCLICode / Config fileDefault
N/AN/AtlsVersionnull (Allow all versions)
tlsVersion
1export const options = {
2 tlsVersion: 'tls1.2',
3};
Min and max versions
1export const options = {
2 tlsVersion: {
3 min: 'ssl3.0',
4 max: 'tls1.2',
5 },
6};

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.

EnvCLICode / Config fileDefault
K6_USER_AGENT--user-agentuserAgentk6/0.27.0 (https://k6.io/) (depending on the version you're using)`
1export const options = {
2 userAgent: 'MyK6UserAgentString/1.0',
3};

Verbose

Especifica si el modo verboso del logging está habilitado. Disponible en los comandos k6 run y k6 cloud.

EnvCLICode / Config fileDefault
N/A--verbose, -vN/Afalse
$ k6 run --verbose script.js

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.

EnvCLICode / Config fileDefault
K6_VUS--vus, -uvus1
1export const options = {
2 vus: 10,
3};