Servidores necessários para carga com margem de segurança
A calculadora de servidores necessários transforma uma previsão de tráfego em uma meta prática de escalabilidade horizontal.
Executar grátis
Informe a taxa máxima de solicitações, a capacidade medida de um servidor e o percentual que deseja reservar como margem de segurança. A ferramenta reduz a capacidade utilizável de cada servidor, divide a carga desejada pelo resultado e arredonda para cima. Ela também apresenta capacidade provisionada, capacidade utilizável, sobra disponível e utilização prevista para que você possa verificar claramente todas as premissas.
Comece com uma carga-alvo e uma capacidade medidas
Um dimensionamento útil depende de medições compatíveis. Informe como meta a maior taxa sustentada que a implantação precisa atender, e não uma média diária que esconda os horários de pico. Meça a capacidade por servidor em um teste de carga representativo, com a mesma versão da aplicação, tipo de instância, combinação de requisições, dependências e objetivo de latência planejados para produção. Os dois valores devem estar em solicitações por segundo. Se o servidor só alcança um número maior ao violar o nível de serviço, esse número não representa capacidade utilizável. A calculadora aceita meta zero, mas exige capacidade positiva. Use o resultado como base de planejamento: bancos de dados, filas, caches, conexões, serviços externos e requisições lentas podem limitar o sistema antes dos servidores. Refaça o cálculo quando a carga, a aplicação ou o benchmark mudar.
Reserve margem para evitar operar no limite
A margem de segurança é a parcela da capacidade medida que permanece livre em cada servidor. Com 25 por cento de margem, um servidor testado em 1.200 solicitações por segundo contribui com 900 para o dimensionamento. A reserva absorve picos, erros de previsão e o tempo de inicialização de novas instâncias, além de reduzir a elevação de latência perto da saturação. O percentual adequado depende da operação. Um serviço interno estável e de inicialização rápida pode trabalhar com uma reserva menor; uma API pública com tráfego irregular, aquecimento lento ou metas rígidas pode precisar de mais. Informe um valor a partir de zero e inferior a 100. A ferramenta aplica a margem antes da divisão e arredonda o total para cima, garantindo que a frota calculada atenda pelo menos à carga declarada. Compare diferentes percentuais para mostrar a relação entre resiliência e custo.
Transforme o resultado em uma decisão de provisionamento
O principal resultado é o menor número inteiro de servidores idênticos cuja capacidade ajustada alcança a meta. A capacidade utilizável por servidor mostra o benchmark depois da reserva. A capacidade provisionada representa o rendimento nominal completo da frota, enquanto a capacidade utilizável provisionada indica quanto o plano permite consumir. A sobra utilizável decorre do arredondamento para cima. A utilização compara o tráfego-alvo com a capacidade nominal total. Use esses campos para justificar um mínimo de escalabilidade automática, uma frota fixa ou um orçamento de infraestrutura; depois teste a topologia, inclusive a distribuição de carga e as falhas. Alta disponibilidade, zonas, manutenção, réplicas e perda de instâncias podem exigir mais servidores que o mínimo de rendimento. A calculadora não adiciona essa redundância; aplique os requisitos arquitetônicos depois e refaça a análise quando a instância ou o desempenho mudar.
Casos de uso
Definir uma base de escalabilidade automática
Converta o pico previsto e o rendimento medido em um mínimo justificável de instâncias com reserva explícita.
Comparar tipos de instância
Aplique a mesma meta às capacidades medidas de diferentes servidores antes do provisionamento.
Documentar uma revisão de capacidade
Registre meta, benchmark, margem, utilização e sobra utilizável que fundamentam a decisão.
Perguntas frequentes
Como o número de servidores é calculado?
A capacidade utilizável é a capacidade por servidor multiplicada por um menos o percentual de margem. A carga é dividida por esse valor e arredondada para cima.
Qual capacidade por servidor devo informar?
Use o rendimento sustentado de um teste representativo que respeite suas metas de latência e erros, com configuração próxima da produção.
A margem significa servidores adicionais?
Ela reduz a capacidade atribuída a cada servidor e pode aumentar a frota arredondada. A reserva cobre picos, inicializações e erros de previsão.
O resultado inclui redundância de alta disponibilidade?
Não. Ele calcula apenas o mínimo por rendimento. Acrescente instâncias para zonas, manutenção, réplicas, quórum e outras políticas de resiliência.
Quanto custa uma solicitação pela API?
Cada cálculo pela API custa US$ 0,002. A mesma calculadora determinística 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/servers-needed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"target_request_rate":10000,"per_server_capacity":1200,"headroom_percent":25}'const res = await fetch("https://api.kit.forhosting.com/dev/servers-needed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"target_request_rate": 10000,
"per_server_capacity": 1200,
"headroom_percent": 25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/servers-needed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"target_request_rate": 10000,
"per_server_capacity": 1200,
"headroom_percent": 25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/servers-needed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"target_request_rate":10000,"per_server_capacity":1200,"headroom_percent":25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"target_request_rate":10000,"per_server_capacity":1200,"headroom_percent":25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/servers-needed", 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
{
"target_request_rate": 10000,
"per_server_capacity": 1200,
"headroom_percent": 25
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.servers_needed",
"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. |