Vazão em lotes
A calculadora de vazão em lotes transforma o tamanho do lote e o intervalo de processamento em uma taxa efetiva de itens.
Executar grátis
Ela mostra itens por segundo, minuto e hora e pode comparar essa capacidade com uma meta. Ao informar uma taxa-alvo, você recebe o menor tamanho inteiro necessário no tempo atual e o maior intervalo permitido para o lote existente. Assim, você valida premissas de capacidade antes de ajustar workers, consumidores de filas, importações, jobs de inferência ou operações em massa agendadas.
Transforme o comportamento em lotes em uma taxa comparável
Sistemas em lotes costumam ser descritos por dois números difíceis de comparar: quantos itens uma execução processa e quanto tempo ela leva. A calculadora divide o tamanho do lote pelo tempo do lote para obter a vazão efetiva em itens por segundo e converte a mesma taxa para minuto e hora. Um worker que conclui 500 itens a cada 20 segundos, por exemplo, sustenta 25 itens por segundo se puder iniciar o lote seguinte sem atraso adicional. Use o tempo entre inícios quando preparação, polling, espera ou atraso da fila fizerem parte do ciclo real. Use apenas o processamento se esses atrasos forem contabilizados separadamente. O resultado é uma média; ele não afirma que cada item termina em intervalos regulares. O lote pode liberar todos os resultados de uma vez e ainda apresentar a vazão informada. Essa distinção ajuda a comparar consumidores em lotes e workers de streaming sem confundir latência de entrega com capacidade de processamento.
Planeje o tamanho do lote para uma taxa-alvo
Informe uma taxa-alvo em itens por segundo quando precisar verificar se a configuração acompanha as entradas ou um objetivo de serviço. A calculadora multiplica a meta pelo tempo atual e arredonda para cima até o próximo item inteiro. Esse arredondamento é essencial: não existe fração de item, e arredondar para baixo produziria menos capacidade do que a solicitada. Portanto, o tamanho de lote necessário é o menor inteiro que alcança ou supera a meta sem alterar o tempo. A taxa resultante mostra a pequena folga criada pelo arredondamento. O cenário pressupõe que aumentar o lote não aumenta o tempo de processamento. É uma boa estimativa inicial, porém bancos de dados, API, memória e paralelismo podem escalar de modo não linear. Teste o tamanho candidato com cargas representativas e informe novamente o intervalo medido. Ao repetir esse ciclo, você substitui uma suposição otimista por evidências do sistema real.
Descubra o intervalo permitido pelo lote atual
Às vezes o tamanho não pode mudar porque uma API anterior, um limite de transação, a memória ou o broker de mensagens impõe um teto. Nesse caso, a análise também calcula o tempo máximo permitido com o tamanho atual, dividindo a quantidade de itens pela taxa-alvo. Um lote de 600 itens para uma meta de 40 itens por segundo, por exemplo, deve terminar com intervalo entre inícios de 15 segundos ou menos. Compare esse limite com tempos de percentis altos, não apenas com a execução média ou mais rápida. Se a variação normal ultrapassar o limite, a configuração nominal pode cumprir a meta enquanto a fila cresce em produção. A razão entre taxas resume a margem: acima de um indica capacidade excedente; um indica igualdade; abaixo de um indica déficit. O modelo considera uma única via sequencial. Para vários workers iguais, use o lote combinado em um intervalo compartilhado ou calcule cada via e some as taxas sustentáveis somente quando a distribuição de carga estiver equilibrada.
Casos de uso
Dimensionar um consumidor de filas
Converta tamanho e intervalo do consumidor em uma taxa e confira se ela supera a chegada de mensagens.
Planejar chamadas em massa para API
Descubra o mínimo de registros por solicitação ou o maior intervalo que mantém a velocidade de sincronização.
Avaliar a capacidade de um pipeline
Compare lotes de importação medidos com uma meta e veja se é preciso melhorar o tamanho ou o tempo.
Perguntas frequentes
Qual fórmula calcula a vazão em lotes?
A vazão efetiva é o tamanho do lote dividido pelo tempo em segundos. A ferramenta também converte a taxa para minuto e hora.
O que o tempo do lote deve incluir?
Use o tempo entre inícios para capacidade ponta a ponta. Use apenas o processamento se espera e preparação forem excluídas de propósito.
Como o tamanho necessário é calculado?
A meta em itens por segundo é multiplicada pelo tempo do lote e arredondada para cima, evitando ficar abaixo do objetivo.
A ferramenta considera workers paralelos?
Não automaticamente. Represente-os como um lote combinado em um intervalo comum ou some as taxas quando a carga estiver equilibrada.
Por que a vazão real pode ser menor?
Filas, novas tentativas, preparação, contenção, escala não linear e carga desigual podem reduzi-la. Use tempos representativos de percentis altos.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. A calculadora também pode ser usada gratuitamente no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/batch-throughput \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"batch_size":500,"batch_time_seconds":20}'const res = await fetch("https://api.kit.forhosting.com/dev/batch-throughput", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"batch_size": 500,
"batch_time_seconds": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/batch-throughput",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"batch_size": 500,
"batch_time_seconds": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/batch-throughput", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"batch_size":500,"batch_time_seconds":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"batch_size":500,"batch_time_seconds":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/batch-throughput", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"batch_size": 500,
"batch_time_seconds": 20
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.batch_throughput",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |