2013-03-09 5 views
5

Sto facendo un progetto di ricerca riguardante la scalabilità. Ho creato un'app Web su Windows Azure e ora devo testarla con milioni di utenti. Stavo pensando di fare quanto segue:Utilizzo di un servizio cloud per sottoporre a test di stress un'applicazione Web

  • creare un semplice programma che utilizza Selenium per inviare le richieste per l'applicazione web
  • Integrare questo programma come un altro servizio cloud Azure
  • aumentare il numero dell'istanza di aumentare la numero di concorrenti connessioni

il motivo che voglio usare Selenio e non basta inviare normali richieste HTTP è che ho anche bisogno di testare Javascript dell'app. Le mie domande sono:

  • È possibile utilizzare Selenium come un ruolo di lavoratore Windows Azure/macchina virtuale ?
  • Il selenio può inviare più richieste contemporaneamente? Utilizzerò più istanze , tuttavia ogni istanza dovrà essere in grado di generare circa 2000 o più richieste al secondo, è possibile?

Questo può essere fatto usando il selenio o ci sono modi migliori per farlo? Ho visto anche JMeter, ma dal momento che è in Java non credo che posso usarlo come un ruolo di lavoro Azure

Requisiti: generare 100 milioni di visite in circa 15 minuti-30 minuti mi aspetto da usare circa 40-50 istanze su Azure che significa che ogni istanza deve generare circa 2000 richieste al secondo

+0

+1, buona domanda, mi piacerebbe sentire qualcuno che ha provato ad integrarlo con Azure, è qualcosa che ho intenzione di provare. – Arran

+0

Vedere anche [questa risposta] (http://stackoverflow.com/a/15164587/272109) che ho pubblicato per una domanda simile sul test di caricamento. –

risposta

3

Il selenio è utile per il test funzionale, ma AFAIK simula lo scenario per singolo utente.

JMeter è più adatto per il test di carico.

Tuttavia, se siete alla ricerca di un servizio cloud based che può fare test di carico, controllare Blitz.io

Alcune altre alternative sono (alcuni richiedono scaricare)

  1. Soasta
  2. Neotys
  3. Loadimpact.com
+0

Grazie per aver ripulito Selenium per me :) – Matt

2

Il vantaggio di Selenium è il test con più browser, perché Javascript interromperà diversi browser. Comunque, JMeter ti offrirà molte altre belle funzionalità.

Abbiamo creato un servizio simile per Amazon AWS. Il servizio è gratuito e gli agenti di caricamento vengono eseguiti sul tuo account AWS come istanze spot. Non siamo sicuri del confronto tra i prezzi delle istanze spot di Amazon con Azure, ma siamo stati in grado di emulare 50.000 utenti su 200 istanze m1.small per $ 2/ora. Abbiamo rilasciato questo servizio per gli altri - www.redline13.com.

1

Dato che hai taggato con C#, presumo tu stia utilizzando Visual Studio.

Dovresti riuscire a ottenere ciò che desideri utilizzando Visual Studio Online e Visual Studio Ultimate insieme. Ulteriori dettagli qui: Load test in the cloud to find performance issues