Potresti voler iniziare con un modello matematico, ma ti consiglio di fare una simulazione - creare un "utente": un programma che agisce come un utente e genera attività simili a utenti randomizzati. Quindi, carica il sistema con un set di dati di tipo reale (dimensionato di conseguenza) e distribuisci gli utenti contro la struttura che hai creato. Risciacquare e ripetere fino ad ottenere tutte le misure per ogni punto di dati in modo da avere una ragionevole sicurezza che il numero rappresenti le prestazioni a un dato carico e che il rumore sia stato ridotto a un livello che non interferisca con le misurazioni. Tieni d'occhio i massimi, perché possono apparire nell'uso reale e far deragliare l'applicazione. Inoltre, ricorda di testarlo con numeri assurdi di utenti e volumi di dati assurdi, poiché spesso ti offre informazioni su problemi che potrebbero non essere evidenti in scenari più normali.
Se possibile, pubblica accanto al tuo grafico la metodologia che hai usato (come si comportano i tuoi utenti, quale hardware hai usato - se vero metallo, se istanze EC2 - e quante misurazioni hai fatto).
Questo è un esercizio molto degno, a proposito. Potresti scoprire alcuni colli di bottiglia che non avresti mai immaginato di avere, oltre a nuovi modi per mettere a punto la tua applicazione su configurazioni hardware diverse che non ti sono mai venute in mente.
Vengo da uno sfondo web e cerco di rendere tutti i sistemi che creo in grado di generare uno o più file di configurazione JMeter a scopo di test del carico. Nessuno sa come simulare meglio il carico rispetto al sistema stesso: ha accesso a schemi di utilizzo precedenti e al proprio database di lavoro.
E poi quando hai un sacco di dati sperimentali, puoi affinare i tuoi modelli matematici al fine di prevedere condizioni che potresti non facilmente simulare.