2.1 - Throughput

Throughput é a medida da quantidade de trabalho que uma aplicação necessita executar em uma unidade de tempo.

O trabalho é normalmente medido em transações por segundo (TPS), ou mensagens processadas por segundo (mps). Por exemplo, um aplicativo para um banco on-line pode ter que garantir executar 1000 tps dos clientes. Um sistema de gerenciamento de inventário para um grande supermercado pode precisar processar 50 mensagens por segundo de parceiros comerciais solicitando ordens de serviço.

É importante compreender exatamente o que se entende por Throughput. Ou seja, o que se deseja é a vazão média ao longo de um determinado período de tempo (por exemplo, um dia útil), ou taxa de transferência de pico? Esta é uma distinção crucial.

Para exemplificar a importância deste conceito, vamos imaginar um sistema de apostas em corridas de cavalos. Para a maioria das vezes, esta aplicação faz muito pouco trabalho. Portanto, tem um requisito de rendimento médio baixo e facilmente realizável.

No entanto, cada vez que há um evento de corrida importante, talvez duas vezes ao ano, em que minutos antes de cada corrida milhares de apostas estão sendo registradas a cada segundo. Se o aplicativo não for capaz de processar essas apostas à medida que elas são realizadas poderá gerar um grande prejuízo tanto para a empresa de apostas como para os apostadores. Para este cenário, o software deve ser projetado para atender o pico e não a média. Na verdade, projetar a solução para suportar somente a média provavelmente seria fatal para o software (e, consequentemente, para o arquiteto).

Copyright © 2016 AIEC.