Tema
Quantos em paralelo
Toda transição temporizada tem uma configuração que decide se ela atende um item por vez ou vários ao mesmo tempo. É a escolha que mais silenciosamente estraga um modelo, porque errar nela não dá erro: dá um número plausível.
As duas opções
| Opção | Significa |
|---|---|
| Servidor único | um item por vez. Os demais esperam a vez. |
| Servidor infinito | quantos itens houver, todos avançam ao mesmo tempo. |
O nome "infinito" assusta, mas não quer dizer capacidade ilimitada. Quer dizer que a etapa não impõe limite próprio — quem limita é o lugar de capacidade ligado a ela. Um atendimento marcado como servidor infinito, alimentado por um lugar com 2 fichas de atendente, atende no máximo 2 por vez.
No editor, cada transição temporizada mostra a letra S (único) ou I (infinito) no meio do retângulo, então dá para conferir o modelo inteiro de relance.
Por que isso importa tanto
Voltando à fila do primeiro modelo, vamos aumentar o número de atendentes e medir das duas formas:
| Atendentes | Atende em paralelo? | Fila média | No sistema |
|---|---|---|---|
| 1 | — | 0,50 | 1,00 |
| 2 | não | 0,25 | 1,00 |
| 2 | sim | 0,03 | 0,53 |
| 4 | não | 0,06 | 1,00 |
| 4 | sim | 0,00 | 0,50 |
Olhe a coluna No sistema. Sem atender em paralelo, ela não muda: 1,00 com um atendente, 1,00 com quatro.
A armadilha
Contratar mais atendentes sem marcar a etapa como paralela não melhora nada — só muda o lugar onde as pessoas esperam. A fila diminui porque os clientes saem dela e entram no atendimento; mas como o atendimento continua concluindo um de cada vez, elas passam a esperar lá dentro.
A coluna da fila, sozinha, faria você concluir que dobrar a equipe reduziu a espera pela metade. Mediu-se a coisa errada.
O número que revela
Tempo de resposta é o que o cliente sente, e sai de "quantos estão no sistema" dividido pela vazão:
| Configuração | No sistema | Tempo de resposta |
|---|---|---|
| 2 atendentes, sem paralelo | 1,00 | 10,0 min |
| 2 atendentes, em paralelo | 0,53 | 5,3 min |
Mesma equipe, mesmo custo, quase metade do tempo de espera. A diferença está inteira nessa configuração.
Como escolher
Servidor único quando o recurso realmente atende um de cada vez e a etapa representa esse recurso:
- um caixa, uma impressora, uma máquina
- um processo que precisa de exclusividade
- a chegada de itens vindos de fora, quando há uma fonte só
Servidor infinito quando a etapa representa um trabalho que várias unidades fazem simultaneamente, com o limite vindo de um lugar de capacidade:
- atendimento com N atendentes
- processamento com N servidores ou threads
- transporte em que vários itens viajam ao mesmo tempo
Regra prática
Se você criou um lugar de capacidade para representar "N recursos", a etapa de serviço ligada a ele quase sempre precisa ser servidor infinito. Senão a capacidade N não produz efeito nenhum, e você vai passar horas procurando o erro em outro lugar.
Conferindo o seu modelo
Aumente a capacidade de um recurso e rode de novo. Se o tempo de resposta não melhorar, provavelmente a etapa de serviço está como servidor único.
A ferramenta avisa sobre isso: quando encontra uma etapa de servidor único consumindo de um lugar com mais de uma ficha, ela mostra um aviso de capacidade sem efeito junto dos resultados.