2013-03-01 3 views
9

Sto conducendo alcune ricerche sulle tecnologie web emergenti e ho creato un sito Web di Azure molto semplice che utilizza socket Web e mongo db come database. Sono riuscito a far funzionare tutti i componenti insieme e ora devo eseguire il test di carico sull'applicazione.Test di un'app Web Windows Azure per il carico massimo utente

Il criterio principale è il carico massimo che l'applicazione può supportare, al momento c'è 1 istanza di ruolo web, quindi probabilmente avrei bisogno di testare il carico massimo dell'utente per quell'istanza, quindi provare con 2 istanze e quindi sopra.

Ho trovato alcune soluzioni online come Loadstorm, tuttavia non posso permettermi di pagare per utilizzare questi servizi, quindi devo essere in grado di farlo dal mio computer di sviluppo O da un altro servizio cloud.

Mi sono imbattuto in Test di carico di Visual Studio e sembrano abbastanza utili, tuttavia sembra che richiedano VS Ultimate e un abbonamento msdn attivo - i prerequisiti sono elencati here. Inoltre, da this video che mostra le nozioni di base sui test di carico, sembra che questi test di carico siano stati creati completamente separatamente dal progetto web effettivo, quindi significa che posso vedere solo le metriche relative all'utente? cioè non riesco a vedere la quantità di RAM utilizzata, il processore ecc.

Qualche suggerimento?

risposta

6

È possibile creare una macchina virtuale Linux in Azure stesso o in un altro provider di hosting e utilizzare ApacheBench (ab) o JMeter per eseguire semplici test di carico sull'applicazione. Tieni presente che in tale configurazione i server di riferimento potrebbero essere un collo di bottiglia.

Un altro approccio è quello di utilizzare i servizi di test di carico in linea wich consentire un certo uso gratuito, come ad esempio:

+0

Grazie, vado a controllare fuori loader.io sembra interessante! – Matt

+1

Loader.io funziona perfettamente per le mie esigenze, grazie ancora! – Matt

3

Per load-test, LoadStorm è molto ragionevole, soprattutto rispetto al software on-premise (e ha un livello libero con fino a 25 client virtuali). È possibile installare codice come jmeter, ma sarà comunque necessario disporre di computer (o di vm) per ospitarli ed eseguirli, ed è necessario assicurarsi che le macchine del generatore di carico non siano il collo di bottiglia nei test.

Quando si eseguono i test, è consigliabile prendere in considerazione la separazione del livello Web da MongoDB. MongoDB consumerà più memoria possibile (dato che è ciò che dà a MongoDB la sua velocità). In uno scenario reale, probabilmente avrai MongoDB nel proprio ambiente. Quindi, per i test, prenderei in considerazione l'ipotesi di scaricare MongoDB nelle proprie istanze e 10gen ha uno Worker Role setup che è abbastanza semplice da installare.

Ricorda inoltre che la larghezza di banda della scheda NIC è 100 Mbps per core, che potrebbe essere un fattore limitante per i test, a seconda della quantità di carico che stai guidando.

Un'alternativa all'auto-hosting MongoDB: Offload MongoDB a un hoster come MongoLab. Ciò consentirà di testare la capacità della tua app Web senza preoccuparsi dei dettagli relativi alla configurazione, alla configurazione, all'ottimizzazione di MongoDB. Attualmente MongoLab offre il proprio livello gratuito ospitato nei data center di Azure, US West e US East.

+0

Grazie per l'input! post scriptum Io uso i ruoli dei lavoratori per MongoDB, infatti l'obiettivo generale è quello di testare la fattibilità di un sito web realizzato con azure, mongodb e websockets :) – Matt

0

Se si è interessati a trovare i contatori delle prestazioni dell'applicazione in prova, è possibile rivisitare alcune delle funzionalità più recenti aggiunte al test di carico di base di Visual Load Cloud. http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/07/get-application-performance-data-during-load-runs-with-visual-studio-online.aspx

Per avere maggiori informazioni su Visual Studio soluzione Load Testing Cloud - https://www.visualstudio.com/features/vso-cloud-load-testing-vs