Vorrei iniziare leggendo articolo di Wikipedia sull'argomento.
In breve, la scalabilità è come le prestazioni del sistema aumentano con l'aggiunta di più risorse o, in alternativa, come l'utilizzo delle risorse aumenta con l'aumento del carico . Ad esempio, quanti utenti concorrenti possono gestire il tuo sito fino a quando il tempo di risposta aumenta oltre 0,3 sec? La stessa domanda dopo aver raddoppiato la RAM / disco / CPU / ecc. Disponibili. Probabilmente puoi usare la tua conoscenza degli interni dell'applicazione per decidere quali parametri vale la pena controllare.
Imposta un banco di prova con una macchina server e uno o più computer client. Utilizzare alcuni strumenti per limitare la quantità di risorse disponibili al server (ad esempio ulimit
) o eseguire alcune applicazioni di interferenza sul server. Misura come il server gestisce le richieste dei client. Ripetere il carico interferente gradualmente crescente / decrescente / le risorse disponibili. Alla fine ottieni uno spazio n-dimensionale con dei punti. Potrebbe essere più semplice cambiare solo un parametro alla volta mentre si fissano tutti gli altri con un valore tipico (o un paio di valori). In questo caso puoi rappresentare il risultato come un grappolo di grafici 2D con prestazioni del server (ad esempio il numero di utenti / richieste) su un asse e utilizzo / disponibilità delle risorse sull'altro.
Esistono scenari più complessi in cui l'applicazione utilizza diversi server per diverse parti dell'applicazione e puoi variare la quantità e il rapporto, ma suppongo che non sia il tuo caso. Al massimo, è probabile che tu voglia variare il numero di thread / processi, se questo è importante.
Se si misura l'intera applicazione di solito non è necessario l'accesso al codice sorgente. Tuttavia, potresti essere interessante nel misurare alcune parti specifiche del codice (ad esempio solo DB o UI). Quindi è possibile utilizzare il codice sorgente per esporre solo questo modulo per le misurazioni ed eseguire i test. Questo è chiamato microbenchmark .
Se stai cercando degli esempi, ce ne sono molti negli articoli accademici. Cerca lo studio di Google per valutazione del rendimento + i tuoi termini preferiti.