Problema
Por motivos de segurança, sua aplicação pode não estar exposta à internet pública ou pode estar protegida pelo {{XREF_0}} da Alibaba Cloud. Nesses casos, um grande volume de tráfego de teste de estresse pode acionar medidas de segurança, como interceptação, bloqueio e limpeza, fazendo com que o WAF bloqueie o tráfego proveniente do Performance Testing Service (PTS).
Soluções
Solução 1: Configurar uma lista de permissões de cabeçalho no WAF
Caso a aplicação testada utilize o WAF, configure uma regra de lista de permissões de site baseada em cabeçalho de requisição para permitir a passagem do tráfego de teste de estresse do PTS. Siga estas etapas:
Faça login no console do Web Application Firewall 3.0. Na barra de menus superior, selecione o grupo de recursos e a região (Chinese Mainland ou Outside Chinese Mainland) da instância do WAF.
No painel de navegação à esquerda, escolha Protection Configuration > Core Web Protection.
Clique no ícone
à esquerda da lista de permissões e, em seguida, clique em New Rule na coluna Actions. Na caixa de diálogo exibida, crie uma nova regra de lista de permissões de site e defina a condição de correspondência como Header x-pts-testexists.
As requisições HTTP enviadas pelo PTS contêm o cabeçalho x-pts-test, portanto é necessário criar uma nova regra de lista de permissões de site com a condição de correspondência baseada na presença do cabeçalho x-pts-test. Para mais informações sobre as configurações de lista de permissões de site, consulte {{XREF_1}}.
Solução 2: Configurar uma lista de permissões de IP
Também é possível adicionar os IPs dos geradores de carga a uma lista de permissões de IP na sua política de segurança. Observe que os IPs de teste de estresse não são fixos. Essa solução exige a reconfiguração da lista de permissões de IP a cada teste, por isso recomendamos o uso da Solução 1. As etapas a seguir descrevem como obter os IPs dos geradores de carga:
Inicie o teste de desempenho diretamente e obtenha o endereço IP do gerador de carga após o início do teste. Se já possuir um cenário existente, no painel de navegação à esquerda do console, selecione . Em seguida, na página Scenarios, clique em Start na coluna Actions do cenário desejado para iniciar o teste de desempenho.
Após o início do teste de desempenho, na página In Progress, clique na aba Load Generator Monitor e visualize o endereço IP do gerador de carga no menu suspenso machineId.
Ao utilizar um pool de recursos compartilhados, não é possível obter os IPs dos geradores de carga antes do início do teste. Para garantir tempo suficiente para configurar a lista de permissões antes da geração de tráfego, adicione um tempo de espera de inicialização ao seu cenário. Defina esse tempo conforme a duração necessária para configurar a lista de permissões. Esse período de espera consome VUMs. As etapas abaixo explicam como definir o tempo de espera de inicialização em testes PTS e JMeter:
-
Definir tempo de espera de inicialização em um teste PTS
Adicione uma instrução de atraso de liberação a cada sessão de negócios. Configure a duração do atraso de acordo com o tempo necessário para configurar a lista de permissões. Para mais informações sobre como adicionar essa instrução, consulte {{XREF_2}}.
-
Definir tempo de espera de inicialização em um teste JMeter
No seu plano de teste JMeter, clique com o botão direito e escolha Test Plan > Add > Threads (Users) > setUp Thread Group.
-
No painel setUp Thread Group, configure as seguintes propriedades de thread:
Number of Threads (users): 1
Ramp-up period (seconds): 1
Loop Count: 1
Selecione Specify Thread lifetime.
Duration (seconds): 1
Startup delay (seconds): Defina este valor conforme o tempo necessário para configurar a lista de permissões. Por exemplo, 20.