Compartilhar via


Configurar um teste de carga YAML

Saiba como configurar seu teste de carga no Teste de Carga do Azure usando o YAML. Use o arquivo YAML de configuração de teste para criar e executar testes de carga do fluxo de trabalho de CI/CD (integração contínua e entrega contínua).

Sintaxe YAML do teste de carga

Uma configuração de teste de carga usa as seguintes chaves:

Chave Tipo Obrigatório Valor padrão Descrição
version cadeia S Versão de especificação de teste de carga. O único valor com suporte é v0.1.
testId cadeia S Identificador exclusivo do teste de carga. O valor deve ter entre 2 e 50 caracteres ([a-z0-9_-]). Para um teste existente, você pode obter o testId na página de detalhes do teste no portal do Azure.
testName cadeia N Preterido. Identificador exclusivo do teste de carga. Essa configuração é substituída por testId. Você ainda pode executar testes existentes com o campo testName.
displayName cadeia N Nome de exibição do teste. Esse valor é mostrado na lista de testes no portal do Azure. Se não for fornecido, testId será usado como o nome de exibição.
description cadeia N Descrição curta do teste. O valor tem um comprimento máximo de 100 caracteres.
testType cadeia S Tipo de teste. Valores possíveis:
  • URL: teste de carga baseado em URL
  • JMX: teste de carga baseado em JMeter
  • Locust: Teste de carga baseado em gafanhoto
testPlan cadeia S Referência ao arquivo de plano de teste.
  • Se testType: JMX: caminho relativo para o script de teste do JMeter.
  • Se testType: Locust: caminho relativo para o script de teste Locust.
  • Se testType: URL: caminho relativo para o arquivo JSON de solicitações.
engineInstances inteiro S Número de instâncias paralelas do mecanismo de teste para executar o plano de teste. Saiba mais sobre como configurar a carga de alta escala.
configurationFiles matriz de cadeia de caracteres N Lista de arquivos externos, exigido pelo script de teste. Por exemplo, arquivos de fragmento JMX, arquivos de dados CSV, imagens ou qualquer outro arquivo de dados.
O Teste de Carga do Azure carrega todos os arquivos na mesma pasta que o script de teste. No script JMeter ou no script Locust, consulte apenas arquivos externos usando o nome do arquivo e remova todas as informações de caminho do arquivo.
failureCriteria objeto N Critérios de falha de teste de carga. Consulte failureCriteria para obter mais detalhes.
autoStop cadeia de caracteres ou objeto N Interrompa automaticamente o teste de carga quando o percentual de erro exceder um valor.
Valores possíveis:
- disable: não interrompa um teste de carga automaticamente.
- Objeto: consulte Configuração de parada automática para obter mais detalhes.
properties objeto N
  • Se testType: JMX: Referências do arquivo de propriedades do usuário JMeter.
  • Se testType: Locust: Referências do arquivo de configuração do Locust.
Consulte as propriedades para obter mais detalhes.
zipArtifacts matriz de cadeia de caracteres N Especifica a lista de arquivos de artefatos zip. Para arquivos que não sejam o script de teste principal e as propriedades do usuário para testes baseados em JMeter e arquivos de script e configuração locust para testes baseados em Locust, se o tamanho do arquivo exceder 50 MB, compacte-os em um arquivo ZIP. Verifique se o arquivo ZIP permanece abaixo de 50 MB de tamanho. Apenas 5 artefatos ZIP são permitidos com um máximo de 1000 arquivos em cada um e tamanho descompactado de 1 GB. Aplica-se apenas para testType: JMX e testType: Locust.
splitAllCSVs boolean N Falso Divida os arquivos CSV de entrada uniformemente em todas as instâncias do mecanismo de teste. Para obter mais informações, consulte Leitura de um arquivo CSV em testes de carga.
secrets objeto N Lista de segredos que o script Apache JMeter ou Locust faz referência. Veja segredos para mais detalhes.
env objeto N Lista de variáveis de ambiente que o script Apache JMeter ou Locust faz referência. Consulte variáveis de ambiente para obter mais detalhes.
certificates objeto N Lista de certificados de cliente para autenticação com pontos de extremidade de aplicativo no script JMeter ou Locust. Consulte os certificados para obter mais detalhes.
appComponents objeto N Lista de recursos de -side do servidor a serem monitorados durante o teste de carga. Consulte appComponents para obter mais detalhes.
subnetId cadeia N Identificador de recurso da sub-rede da rede virtual para testar endereços de endpoints hospedados de forma privada. Essa sub-rede hospeda as VMs do motor de teste injetado. Para obter mais informações, confira como carregar pontos de extremidade hospedados de modo privado.
publicIPDisabled boolean N Desabilite a implantação de um endereço IP público, balanceador de carga e grupo de segurança de rede ao testar um ponto de extremidade privado. Para obter mais informações, confira como carregar pontos de extremidade hospedados de modo privado.
regionalLoadTestConfig objeto N Distribua a carga entre regiões para simular o tráfego de usuários de várias regiões. Para obter mais informações, consulte configuração de teste de carga regional para obter mais detalhes.
referenceIdentities objeto N Lista de identidades gerenciadas usadas no teste para acessar os segredos do Azure Key Vault, métricas para critérios de falha do servidor e autenticação de seus pontos de extremidade. Consulte referenceIdentities para obter mais detalhes.

Exemplo de configuração de teste de carga

O snippet yaml a seguir contém uma configuração de teste de carga de exemplo.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
subnetId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Network/virtualNetworks/load-testing-vnet/subnets/load-testing
configurationFiles:
  - 'sampledata.csv'
  - 'testfragment.jmx'
zipArtifacts:
   - bigdata.zip
splitAllCSVs: True
failureCriteria:
  - avg(response_time_ms) > 300
  - percentage(error) > 50
  - GetCustomerDetails: avg(latency) >200
autoStop:
  errorPercentage: 80
  timeWindow: 60
secrets:
  - name: my-secret
    value: https://akv-contoso.vault.azure.net/secrets/MySecret/abc1234567890def12345
keyVaultReferenceIdentity: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity

failureCriteria configuração

Os critérios de falha de teste permitem que você defina condições para determinar se uma execução de teste de carga foi bem-sucedida ou não. Se um ou mais critérios de reprovação forem atendidos, o teste obterá um resultado de teste com falha. Saiba mais sobre como usar critérios de falha no teste de carga. Você pode definir critérios de falha em métricas do cliente, como tempo de resposta, latência etc., e em métricas do lado do servidor para os componentes do aplicativo do lado do servidor.

Métricas do cliente

Você pode definir critérios de reprovação que se aplicam a todo o teste de carga ou que se aplicam a uma solicitação específica. Os critérios de falha têm a seguinte estrutura:

  • Critérios de teste no nível do teste de carga: Aggregate_function (client_metric) condition threshold.
  • Critérios de teste aplicados a solicitações específicas: Request: Aggregate_function (client_metric) condition threshold.

O Teste de Carga do Azure dá suporte às seguintes métricas de cliente:

Métrica Função agregada Limite Condição Descrição
response_time_ms avg (média)
min (mínimo)
max (máximo)
pxx (percentil), xx pode ser 50, 75, 90, 95, 96, 97, 98, 99, 999 e 9999
Valor inteiro, representando o número de milissegundos (ms). > (maior que)
< (menor que)
Tempo de resposta ou tempo decorrido, em milissegundos. Saiba mais sobre o tempo decorrido na documentação do Apache JMeter.
latency avg (média)
min (mínimo)
max (máximo)
pxx (percentil), xx pode ser 50, 90, 95, 99
Valor inteiro, representando o número de milissegundos (ms). > (maior que)
< (menor que)
Latência em milissegundos. Saiba mais sobre a latência na documentação do Apache JMeter.
error percentage Valor numérico no intervalo de 0 a 100, representando uma porcentagem. > (maior que) Porcentagem de solicitações com falha.
requests_per_sec avg (média) Valor numérico com até duas casas decimais. > (maior que)
< (menor que)
Número de solicitações por segundo.
requests count Valor inteiro. > (maior que)
< (menor que)
Número total de solicitações.

Métricas do lado do servidor

Você pode definir critérios de falha em métricas do lado do servidor para seus componentes de aplicativo do lado do servidor.

A tabela a seguir descreve os diferentes campos na serverMetrics: configuração:

Parâmetro Descrição
resourceId Obrigatório A ID do recurso do componente do aplicativo no qual os critérios devem ser aplicados
metricNamespace Obrigatório O namespace de métrica do lado do servidor.
metricName Obrigatório As métricas do lado do servidor nas quais os critérios devem ser aplicados.
aggregation Obrigatório A agregação a ser aplicada nas métricas do lado do servidor.
condition Opcional. O operador de comparação, como greater than ou less than.
value Obrigatório O valor numérico a ser comparado com a métrica.

Exemplo de configuração de critérios de falha

O snippet de código a seguir mostra uma configuração de teste de carga, que tem três critérios de falha de teste de carga.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
failureCriteria:
  clientMetrics:
    - avg(responseTimeMs) > 300
    - percentage(error) > 50
    - getCustomerDetails: avg(latency) > 200
  serverMetrics:
    - resourceId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-vm
      metricNamespace: Microsoft.Compute/virtualMachines
      metricName: Percentage CPU
      aggregation: Average
      condition: GreaterThan
      value: 80
    - resourceId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-vm
      metricNamespace: Microsoft.Compute/virtualMachines
      metricName: Available Memory
      aggregation: Average
      condition: LessThan
      value: 20

appComponents configuração

Você pode monitorar recursos do lado do servidor durante o teste de carga. Saiba mais sobre como monitorar recursos do lado do servidor. Quando você executa um teste de carga para um aplicativo hospedado no Azure, o Teste de Carga do Azure coleta métricas de recursos para seus componentes de aplicativo e as apresenta no painel de teste de carga.

A tabela a seguir descreve os diferentes campos na appComponents: configuração:

Parâmetro Descrição
resourceId Obrigatório A ID do recurso do componente do aplicativo no qual os critérios devem ser aplicados.
resourceName Opcional. O nome do recurso a ser monitorado.
kind Opcional. O tipo do recurso a ser monitorado.
metrics Obrigatório A lista de métricas a serem monitoradas para o componente do aplicativo. Isso contém o nome, o namespace e a agregação para a métrica.

Exemplo de configuração de Componentes de Aplicativo

O snippet de código a seguir mostra uma configuração de teste de carga, que tem dois componentes de aplicativo.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
appComponents:
  - resourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appComponentResource"
    resourceName: appComponentResource #Optional
    kind: web # Optional
    metrics:
      - name: "requests/duration"
        namespace: microsoft.insights/components 
        aggregation: "Average"
      - name: "requests/count"
        aggregation: "Total"
        namespace: microsoft.insights/components   
  - resourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appComponentResource"
    resourceName: appComponentResource #Optional
    kind: web # Optional
    metrics:
      - name: "requests/duration"
        aggregation: "Average"
        namespace: microsoft.insights/components
      - name: "requests/count"
        aggregation: "Total"
        namespace: microsoft.insights/components

autoStop configuração

A funcionalidade de parada automática do teste de carga permite que você pare automaticamente um teste de carga quando a porcentagem de erro excede um limite específico durante uma determinada janela de tempo. Saiba mais sobre a funcionalidade de parada automática do teste de carga.

Chave Tipo Valor padrão Descrição
errorPercentage inteiro 90 Limite para a porcentagem de erro, durante o timeWindow. Se a porcentagem de erro exceder essa porcentagem durante qualquer janela de tempo, a execução de teste será interrompida automaticamente.
timeWindow inteiro 60 Janela de tempo em segundos para calcular o errorPercentage.

Exemplo de configuração de parada automática

O snippet de código a seguir mostra uma configuração de teste de carga, que tem três critérios de falha de teste de carga.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
autoStop:
  errorPercentage: 80
  timeWindow: 60

properties configuração

Você pode especificar um arquivo de propriedades do usuário JMeter para o teste de carga. O arquivo de propriedades do usuário é carregado junto com o plano de teste e outros arquivos. Saiba mais sobre como usar as propriedades de usuário do JMeter no Teste de Carga do Azure.

Chave Tipo Valor padrão Descrição
userPropertyFile cadeia Arquivo a ser usado como um arquivo de propriedades do usuário Apache JMeter ou um arquivo de configuração do Locust. Para o Locust, os arquivos com extensões .conf, .ini e .toml são suportados como um arquivo de configuração. O arquivo é carregado no recurso de Teste de Carga do Azure junto com o script de teste e outros arquivos de configuração. Se o arquivo estiver em uma subpasta no computador local, use um caminho relativo ao local do script de teste.

Exemplo de configuração do arquivo de propriedades do usuário

O snippet de código a seguir mostra uma configuração de teste de carga, que especifica um arquivo de propriedades do usuário.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
properties:
  userPropertyFile: 'user.properties'

O snippet de código a seguir mostra uma configuração de teste de carga, que especifica um arquivo de configuração do Locust.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.py
testType: Locust
engineInstances: 1
properties:
  userPropertyFile: 'locust.conf'

secrets configuração

Você pode armazenar valores secretos no Azure Key Vault e referenciá-los em seu plano de teste. Saiba mais sobre como usar segredos com o Teste de Carga do Azure.

Chave Tipo Valor padrão Descrição
name cadeia Nome do segredo. Esse nome deve corresponder ao nome do segredo que você usa nas solicitações do plano de teste.
value cadeia URI (identificador secreto) para o segredo do Azure Key Vault.

Exemplo de configuração de segredos

O snippet de código a seguir mostra uma configuração de teste de carga, que faz referência a um segredo my-secret no Azure Key Vault.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
secrets:
  - name: my-secret
    value: https://akv-contoso.vault.azure.net/secrets/MySecret/abc1234567890def12345

env configuração

Você pode especificar variáveis de ambiente e referenciá-las em seu plano de teste. Saiba mais sobre como usar variáveis de ambiente com o Teste de Carga do Azure.

Chave Tipo Valor padrão Descrição
name cadeia Nome da variável de ambiente. Esse nome deve corresponder ao nome da variável que você usa nas solicitações do plano de teste.
value cadeia Valor da variável de ambiente.

Exemplo de configuração de variável de ambiente

O snippet de código a seguir mostra uma configuração de teste de carga, que especifica uma variável my-variable de ambiente e um valor my-value.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
env:
  - name: my-variable
    value: my-value

certificates configuração

Você pode passar certificados de cliente para o teste de carga. O certificado é armazenado no Azure Key Vault. Saiba mais sobre como usar certificados de cliente com o Teste de Carga do Azure.

Chave Tipo Valor padrão Descrição
name cadeia Nome do certificado.
value cadeia URI (identificador secreto) para o certificado no Azure Key Vault.

Exemplo de configuração de certificado

O snippet de código a seguir mostra uma configuração de teste de carga, que faz referência a um certificado de cliente no Azure Key Vault.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
certificates:
  - name: my-certificate
    value: https://akv-contoso.vault.azure.net/certificates/MyCertificate/abc1234567890def12345

referenceIdentities configuração

Você pode usar identidades gerenciadas para vários cenários em seu teste de carga. As identidades gerenciadas podem ser usadas no teste para acessar os segredos ou certificados do Azure Key Vault, buscando métricas para critérios de falha do servidor e autenticação de seus pontos de extremidade.

A tabela a seguir descreve os diferentes campos na referenceIdentities: configuração:

Parâmetro Descrição
kind Obrigatório Isso define o cenário para o qual a identidade gerenciada está sendo usada. Isso pode ser um dos seguintes KeyVault, Metricsou Engine. Pode haver vários itens para o tipo Engine.
type Obrigatório O tipo de identidade. Pode ser UserAssigned ou SystemAssigned.
value Obrigatório A ID do recurso da identidade gerenciada. Isso não precisará ser fornecido se o tipo for SystemAssigned.

Exemplo de configuração de identidades de referência

O snippet de código a seguir mostra uma configuração de teste de carga para várias identidades.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
secrets:
  - name: my-secret
    value: https://akv-contoso.vault.azure.net/secrets/MySecret/abc1234567890def12345
failureCriteria:
  serverMetrics:
    - resourceId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-vm
      metricNamespace: Microsoft.Compute/virtualMachines
      metricName: Percentage CPU
      aggregation: Average
      condition: GreaterThan
      value: 80
referenceIdentities:
  - kind: KeyVault
    type: UserAssigned
    value: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity
  - kind: Metrics
    type: SystemAssigned
  - kind: Engine
    type: UserAssigned
    value: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity
  - kind: Engine
    type: UserAssigned
    value: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity1

Arquivo JSON de solicitações

Se você usar um teste baseado em URL, poderá especificar as solicitações HTTP em um arquivo JSON em vez de usar um script de teste. Certifique-se de definir o testType to URL no arquivo YAML de configuração de teste e faça referência ao arquivo JSON de solicitações.

Solicitações HTTP

O arquivo JSON de solicitações usa as seguintes propriedades para definir solicitações na requests propriedade:

Propriedade Tipo Descrição
requestName cadeia Nome de solicitação exclusivo. Você pode fazer referência ao nome da solicitação ao configurar critérios de falha de teste.
responseVariables matriz Lista de variáveis de resposta. Use variáveis de resposta para extrair um valor da solicitação e referenciá-lo em uma solicitação subsequente. Saiba mais sobre variáveis de resposta.
responseVariables.extractorType cadeia Mecanismo para extrair um valor da saída de resposta. Os valores com suporte são XPathExtractor, JSONExtractor e RegularExpression.
responseVariables.expression cadeia Expressão para recuperar a saída de resposta. A expressão depende do valor do tipo de extrator.
responseVariables.variableName cadeia Nome da variável de resposta exclusiva. Você pode fazer referência a essa variável em uma solicitação subsequente usando a {$variable-name} sintaxe.
queryParameters matriz Lista de parâmetros de cadeia de caracteres de consulta a serem passados para o ponto de extremidade.
queryParameters.key cadeia Nome do parâmetro da cadeia de caracteres de consulta.
queryParameters.value cadeia Valor do parâmetro da cadeia de caracteres de consulta.
requestType cadeia Tipo de solicitação. Os valores suportados são: URL ou CURL.
endpoint cadeia URL do ponto de extremidade do aplicativo a ser testado.
headers matriz Lista de cabeçalhos HTTP a serem passados para o ponto de extremidade do aplicativo. Especifique um par de chave-valor para cada cabeçalho.
body cadeia Corpo do texto para a solicitação HTTP. Você pode usar o requestBodyFormat para especificar o formato do conteúdo do corpo.
requestBodyFormat cadeia Formato do conteúdo do corpo. Os valores compatíveis são: Text, JSON, JavaScript, HTML e XML.
method cadeia HTTP para invocar o ponto de extremidade. Os valores suportados são: GET, POST, PUT, DELETE, PATCH, HEAD, e OPTIONS.
curlCommand cadeia cURL a ser executado. Requer que o requestType arquivo é CURL.

O snippet JSON a seguir contém um exemplo de arquivo JSON de solicitações:

{
    "version": "1.0",
    "scenarios": {
        "requestGroup1": {
            "requests": [
                {
                    "requestName": "add",
                    "responseVariables": [],
                    "queryParameters": [
                        {
                            "key": "param1",
                            "value": "value1"
                        }
                    ],
                    "requestType": "URL",
                    "endpoint": "https://www.contoso.com/orders",
                    "headers": {
                        "api-token": "my-token"
                    },
                    "body": "{\r\n  \"customer\": \"Contoso\",\r\n  \"items\": {\r\n\t  \"product_id\": 321,\r\n\t  \"count\": 50,\r\n\t  \"amount\": 245.95\r\n  }\r\n}",
                    "method": "POST",
                    "requestBodyFormat": "JSON"
                },
                {
                    "requestName": "get",
                    "responseVariables": [],
                    "requestType": "CURL",
                    "curlCommand": "curl --request GET 'https://www.contoso.com/orders'"
                },
            ],
            "csvDataSetConfigList": []
        }
    },
    "testSetup": [
        {
            "virtualUsersPerEngine": 1,
            "durationInSeconds": 600,
            "loadType": "Linear",
            "scenario": "requestGroup1",
            "rampUpTimeInSeconds": 30
        }
    ]
}

Configuração de carga

O arquivo JSON requests usa as seguintes propriedades para definir a configuração de carregamento na testSetup propriedade:

Propriedade Tipo Tipo de carga Descrição
loadType cadeia Tipo de padrão de carga. Os valores com suporte são: linear, stepe spike.
scenario cadeia Referência ao grupo de solicitações, especificado na scenarios propriedade.
virtualUsersPerEngine inteiro Todos Número de usuários virtuais por instância do mecanismo de teste.
durationInSeconds inteiro Todos Duração total do teste de carga em segundos.
rampUpTimeInSeconds inteiro Linear, Degrau Duração em segundos para aumentar até o número de usuários virtuais de destino.
rampUpSteps inteiro Passo O número de etapas para alcançar o número de destino de usuários virtuais.
spikeMultiplier inteiro Pico O fator para multiplicar o número de usuários-alvo durante a duração do pico.
spikeHoldTimeInSeconds inteiro Pico Duração total em segundos para manter a carga de pico.

Configuração de teste de carga regional

Você pode distribuir a carga entre regiões para simular melhor os padrões de tráfego da vida real. Você pode especificar as regiões das quais deseja gerar a carga e a quantidade de carga que deseja simular de cada região. Você pode fazer isso especificando o nome da região e o número de instâncias do mecanismo que deseja nessa região. Saiba mais sobre como gerar carga de várias regiões.

Chave Tipo Valor padrão Descrição
region cadeia Nome da região do Azure.
engineInstances inteiro Número de instâncias de mecanismo para essa região do Azure.

Exemplo de configuração de teste de carga regional

O snippet de código a seguir mostra uma configuração de teste de carga, que especifica duas regiões eastus do Azure e eastasia o número de instâncias de mecanismo para cada região.

displayName: Sample Test
testPlan: sampleScript.jmx
description: 'Load test website home page'
engineInstances: 4
testId: SampleTest
testType: Locust
splitAllCSVs: False
regionalLoadTestConfig:
- region: eastus
  engineInstances: 2
- region: eastasia
  engineInstances: 2
failureCriteria:
- p90(response_time_ms) > 10000
autoStop:
  errorPercentage: 90
  timeWindow: 60