Modo corretto per misurare la scalabilità dell'applicazione Web

1

Diciamo che ho un'applicazione web in cui avrò 300 utenti e ognuno dovrà vedere i dati in tempo reale, immagina che ogni cliente faccia una chiamata ajax al server per vedere in tempo reale cosa succede con le modifiche dei dati, queste chiamate vengono effettuate ogni 300 ms per utente. So che posso eseguire una simulazione per vedere se l'hardware del mio server supporta questo esempio. Ma cosa succede se il numero di utenti inizia a crescere. C'è un modo in cui posso misurare l'hardware necessario per gestire questo comportamento in crescita, un software, una formula, un algoritmo o forse mi consiglia se devo implementare un'applicazione distribuita con server multipli e bilanciare i carichi.

    
posta Jorge 30.03.2012 - 06:17
fonte

2 risposte

1

La mia raccomandazione è solo per testarlo. Imparerai di più sul comportamento del tuo codice in questo modo.

Se vuoi fare un lavoro su carta, però, come base di partenza, puoi estrapolare dai tuoi risultati attuali. Ad es .: se usi il 20% di CPU per fare 1000 utenti, allora 2000 utenti potresti fare il 40% di CPU. Questo si interrompe molto rapidamente anche se dipende strongmente dalla tua applicazione.

Il prossimo è la teoria delle code e le catene di Markov. Questo diventa un po 'statistico / matematico, ma può darti una buona conoscenza del sistema.

    
risposta data 30.03.2012 - 06:43
fonte
1

Potresti caricare i test con qualcosa come Apache JMeter Ciò consentirebbe test lontani con carichi pesanti e se lo installi su diversi le macchine potrebbero testare la concorrenza. È scrivibile, quindi puoi scrivere interazioni utente molto complesse. Non l'ho usato da un po 'di tempo, ma ricorda che ha permesso un sacco di opzioni su come testare il tuo sito web. Altre alternative sono: Selenium , Watir , HtmlUnit , siege

    
risposta data 30.03.2012 - 10:16
fonte

Leggi altre domande sui tag