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.

