La scalabilità è misurata in termini di velocità effettiva basata su alcune variabili. Ad esempio, numero di richieste / secondo con utenti X . Il modo più semplice per descrivere la scalabilità è:
A measure of efficiency as load increases.
La prima cosa che devi capire nella progettazione per la scalabilità è quale misura è più importante per la tua applicazione? Esistono diversi modi per misurare efficienza che è un componente chiave della scalabilità:
- Richieste simultanee al secondo
- Tempo medio di risposta per richiesta
- Numero di record elaborati al secondo / minuto
Esistono più misurazioni dell'efficienza che possono essere utilizzate, ma queste sono comuni per i sistemi basati sul Web o per i sistemi di elaborazione in batch.
Il prossimo aspetto della scalabilità sta misurando ciò che accade alla tua efficienza man mano che il carico aumenta. I modi più comuni per aumentare il carico sono:
- Più utenti che colpiscono il server (ovvero più traffico web)
- Altri dati nel database (ad esempio, le interrogazioni richiedono più tempo o l'elaborazione richiede più tempo)
- Errore del disco rigido in un RAID (le prestazioni e l'affidabilità dello storage sono influenzate)
- Saturazione di rete
L'obiettivo di un'applicazione scalabile è quello di mantenere o migliorare l'efficienza man mano che affrontiamo il problema del carico. In breve, se il tempo di risposta sta richiedendo troppo tempo, possiamo aggiungere un altro server per distribuire il carico in modo uniforme? Questo approccio riduce la quantità di lavoro per un server da fare e mantiene i server operativi in quel "punto debole" per l'efficienza.
La tua applicazione dovrà essere progettata specificamente per ridimensionarla. Ciò significa che devi stare attento con i dati di sessione, instradare le richieste al server giusto, riducendo i colli di bottiglia che limitano la capacità di scalabilità dell'applicazione.