PTFL-4.2.5 (K4) Analisar a taxa de transferência e a concorrência ao desenvolver testes de performance

Para modelar perfis operacionais e de carga adequadamente, é importante entender diferentes aspectos da carga de trabalho: taxa de transferência e concorrência.

Taxa de transferência do sistema

 É uma medida do número de transações que o sistema processa em uma unidade de tempo. Por exemplo

  • o número de pedidos por hora ou
  • o número de solicitações http por segundo.

A taxa de transferência do sistema é diferente da taxa de transferência da rede, que é a quantidade de dados trafegados pela rede (Seção 2.1). A taxa de transferência do sistema define a carga no sistema.

Infelizmente, muitas vezes o número de usuários simultâneos é usado para definir a carga de sistemas interativos em vez de taxa de transferência.  
Isso é parcialmente verdadeiro porque esse número é mais fácil de encontrar, mas parcial porque é a maneira como as ferramentas de teste de carga definem a carga.  
Sem definir perfis operacionais – o que cada usuário está fazendo e com que intensidade (que também é taxa de transferência para um usuário) – o número de usuários não é uma boa medida de carga.

Por exemplo,

  • se houver 500 usuários executando consultas curtas a cada minuto, teremos uma taxa de transferência de 30.000 consultas por hora.
  • se os mesmos 500 usuários estiverem executando as mesmas consultas, mas uma por hora, a taxa de transferência será de 500 consultas por hora.

Portanto, existem os mesmos 500 usuários, mas uma diferença de 60x entre cargas e pelo menos uma diferença de 60x nos requisitos de hardware para o sistema.

A modelagem de carga de trabalho é feita considerando:

  • o número de usuários virtuais (processamento distribuído de execução)
  • o tempo de interação do usuário com o sistema (atrasos entre as ações do usuário – “tempo de interação”).

O rendimento do sistema também é definido pelo tempo de processamento, e esse tempo pode aumentar conforme a carga aumenta.

Onde: T.T.S = Taxa de transferência do sistema
Nº VU = número de usuários virtuais
TP = tempo de processamento
TI = tempo de interação

Assim, quando o tempo de processamento aumenta, a taxa de transferência pode diminuir significativamente, mesmo que todo o resto permaneça o mesmo.

O rendimento do sistema é um aspecto importante ao testar sistemas de processamento em lote.(batch)

Neste caso, o rendimento é tipicamente medido de acordo com o número de transações que podem ser realizadas dentro de um determinado período (p. ex., uma janela de processamento de lote noturna).

Concorrência

A concorrência é uma medida do número de threads em execução simultaneamente.

Para sistemas interativos, pode ser um número de usuários simultâneos. A concorrência é geralmente modelada em ferramentas de teste de carga, definindo o número de usuários virtuais.

Concorrência é uma medida importante.

 Representa o número de sessões simultâneas, cada uma das quais pode usar seus próprios recursos.

  • Mesmo que a taxa de transferência seja a mesma, a quantidade de recursos usada pode variar dependendo da concorrência.
  • As configurações típicas de teste são sistemas fechados (do ponto de vista da teoria de enfileiramento), em que o número de usuários no sistema é definido (população fixa).
  • Se todos os usuários estiverem aguardando a resposta do sistema em um sistema fechado, nenhum novo usuário poderá chegar.
  • Muitos sistemas públicos são sistemas abertos – novos usuários chegam o tempo todo, mesmo que todos os usuários atuais estejam aguardando a resposta do sistema.