Server necessari per il carico con margine di sicurezza
Trasformi un picco di traffico in un numero di server: 10.000 richieste al secondo su server da 1.200 ciascuno, con il 25 % di riserva, richiedono 12 server, perché ognuno conta solo per 900. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Frequenza di richieste obiettivo
- 10.000
- Capacità per server
- 1200
- Margine di riserva (%)
- 25
- Server necessari
- 12
- Capacità utilizzabile per server
- 900
- Capacità allocata
- 14.400
- Capacità allocata utilizzabile
- 10.800
Il calcolatore dei server necessari trasforma una previsione di traffico in un obiettivo concreto di scalabilità orizzontale. Inserisca il tasso massimo di richieste, la capacità misurata di un server e la percentuale da riservare come margine di sicurezza. Lo strumento riduce la capacità utilizzabile di ogni server, divide il carico obiettivo per tale valore e arrotonda per eccesso. Mostra inoltre capacità predisposta, capacità utilizzabile, riserva residua e utilizzo previsto, così Lei può verificare chiaramente ogni ipotesi.
Parta da un carico obiettivo e da una capacità misurati
Un dimensionamento attendibile richiede misure compatibili. Inserisca il massimo tasso sostenuto che l'installazione deve gestire, non una media giornaliera che nasconde i picchi. Misuri la capacità per server con un test rappresentativo che utilizzi la stessa versione dell'applicazione, lo stesso tipo di istanza, la stessa composizione delle richieste, le dipendenze e l'obiettivo di latenza previsti in produzione.
Entrambi i valori sono espressi in richieste al secondo. Se un server raggiunge un valore maggiore soltanto violando il livello di servizio, non usi tale valore. Il calcolatore accetta un obiettivo pari a zero, ma la capacità deve essere positiva.
Consideri il risultato una base: database, code, cache, connessioni, servizi esterni e richieste lente possono limitare il sistema prima dei server applicativi. Ripeta il calcolo quando cambiano carico, applicazione o benchmark.
Mantenga un margine per evitare il limite operativo
Il margine di sicurezza è la quota della capacità misurata lasciata intenzionalmente libera su ogni server. Con un margine del 25 per cento, un server verificato a 1.200 richieste al secondo contribuisce al calcolo con 900. La riserva assorbe picchi, errori di previsione e tempi di avvio delle nuove istanze, riducendo inoltre il rischio di aumento della latenza vicino alla saturazione.
La percentuale corretta dipende dall'operatività. Inserisca un valore da zero incluso a 100 escluso. Il margine viene applicato prima della divisione e il totale viene arrotondato per eccesso.
Confronti più percentuali per rendere evidente il rapporto tra resilienza e costo.
Trasformi il risultato in una decisione di provisioning
Il risultato principale è il numero intero minimo di server identici la cui capacità corretta raggiunge l'obiettivo. La capacità utilizzabile per server mostra il benchmark dopo la riserva. La capacità predisposta rappresenta la portata nominale completa della flotta, mentre quella utilizzabile predisposta indica quanto il piano consente di consumare.
La capacità utilizzabile residua deriva dall'arrotondamento per eccesso. L'utilizzo confronta il traffico obiettivo con la capacità nominale totale. Usi questi dati per motivare un minimo di scalabilità automatica, una flotta fissa o un budget, quindi verifichi topologia e guasti.
Alta disponibilità, zone, manutenzione, repliche e perdita di istanze possono richiedere più server del minimo di portata. Il calcolatore non aggiunge tale ridondanza: applichi poi i requisiti architetturali e ripeta l'analisi quando cambiano istanze o prestazioni.
Casi d'uso
Definire una base di scalabilità automatica
Converta il picco previsto e la portata misurata in un minimo motivato di istanze con riserva esplicita.
Confrontare tipi di istanza
Applichi lo stesso obiettivo alle capacità misurate di server diversi prima del provisioning.
Documentare una revisione della capacità
Registri obiettivo, benchmark, margine, utilizzo e capacità residua alla base della decisione.
Domande frequenti
Come viene calcolato il numero di server?
La capacità utilizzabile è la capacità per server moltiplicata per uno meno la percentuale di margine. Il carico viene diviso per tale valore e arrotondato per eccesso.
Quale capacità per server devo inserire?
Usi la portata sostenuta di un test rappresentativo che rispetti gli obiettivi di latenza ed errore con una configurazione simile alla produzione.
Il margine comporta server aggiuntivi?
Riduce la capacità attribuita a ogni server e può aumentare la flotta arrotondata. La riserva copre picchi, avvii ed errori di previsione.
Il risultato include la ridondanza ad alta disponibilità?
No. Calcola soltanto il minimo di portata. Aggiunga le istanze richieste per zone, manutenzione, repliche, quorum e altre regole di resilienza.
Quanto margine di sicurezza conviene tenere?
Dipende dal comportamento del servizio, non da una regola universale. Un servizio interno stabile che si avvia in fretta tollera meno; un servizio pubblico con traffico a raffiche, avvio lento o obiettivi di latenza rigidi di solito ne richiede di più. È accettato qualsiasi valore da 0 fino a meno di 100.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
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)Esempio di richiesta
{
"target_request_rate": 10000,
"per_server_capacity": 1200,
"headroom_percent": 25
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.servers_needed",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Mantenga un margine per evitare il limite operativo
Un servizio interno stabile e rapido da avviare può usare una riserva minore; una API pubblica con traffico irregolare, riscaldamento lento o vincoli rigorosi può richiederne una maggiore.
Domande tecniche
Quanto costa una richiesta API?
Ogni calcolo tramite API costa $0.002. Lo stesso calcolatore deterministico è utilizzabile gratuitamente anche nel browser.