Domanda

    

Questa domanda ha già una risposta qui:

    
            
  •              Test di stress ASP.NET                                      6 risposte                          
  •     
    

Questa potrebbe essere la domanda sbagliata da porre, ma qual è il modo migliore per replicare un grosso carico su un'applicazione web asp.net? Esiste un modo semplice per simulare molte richieste su pagine particolari? O è la cosa migliore usare un profiler per tracciare una singola richiesta e poi risolverlo se le prestazioni sono ok?

Sarebbe bene sapere se un'app Web funziona bene con una specifica del server. Mi piacerebbe essere in grado di simulare il traffico intenso sul mio server di test in modo da poter capire se il server di produzione è abbastanza buono (in particolare con iis / asp.net non prestazioni db).

È stato utile?

Soluzione

Il mio suggerimento è di fare prima alcuni test automatici. Usa selenio per questo.

Quindi distribuire la griglia di selenio per testare su più computer contemporaneamente.

Sebbene il selenio come strumento di test automatizzato funzionerà abbastanza velocemente, effettuando un mini stress test. Se metti la stessa automazione in esecuzione su un paio di computer sulla tua rete contemporaneamente, sarai in grado di vedere come si comporta.

Se vuoi registrare i tempi di risposta, hanno una fantastica API che puoi usare per scrivere alcuni script per eseguire le tue automazioni.

Modifica: il selenio è abbastanza facile da usare e asserisce il contenuto della pagina se si desidera testare il contenuto. Copia anche il tuo movimento attraverso la pagina se lo desideri (questo sarebbe il mio suggerimento) basta navigare molto nella pagina e quindi salvarla per l'automazione. Evita di fare affermazioni in modo che il selenio possa correre più veloce.

Altri suggerimenti

Prova http://loadimpact.com il meglio che ho trovato finora, ma nessuna alternativa ad esso posso trovare.

JMeter sarebbe uno di questi strumenti. Può essere un po 'difficile da imparare e configurare, ma di solito ne vale la pena.

Lo strumento ab (apache bench) ti consente di inviare molti richieste a una singola pagina e si specifica il numero di client che si desidera utilizzare e il numero di connessioni simultanee che si desidera.

Questo potrebbe essere il primo passo quando si sviluppa un sito. Prova solo alcune pagine con un carico specifico. Questo metodo di analisi comparativa può avere qualche problema, come l'eccessivo utilizzo della cache.

In seguito potresti voler uno strumento che simuli un po 'di traffico concreto e non per una singola pagina. Non ho ancora un riferimento utile su tale strumento.

Forse grinder ti aiuterà? È possibile simulare richieste simultanee per thread e processi leggeri o distribuire test su più macchine. Lo sto usando ampiamente con successo ogni volta.

Abbiamo provato alcune applicazioni, sia le prove di prodotti commerciali che quelle disponibili gratuitamente. In definitiva, era l'edizione di prova del Team Test Load Agent che abbiamo provato. Funziona sicuramente alla grande ed è abbastanza semplice da usare. A lungo termine, ha rafforzato la nostra tesi di passare a Team Foundation Server e fornire a tutte le parti del dipartimento gli strumenti appropriati.

L'ovvio aspetto negativo, tuttavia, è il prezzo.

Ho usato WebLOAD per questo tipo di progetto. È facile creare script e ha un supporto integrato per il monitoraggio delle statistiche ASP.NET

Per i test del servizio Web, il supporto del sapone o WCF (incluso WebHttpBinding), provare SOA Cleaner. Può essere scaricato da: http://xyrow.com . Esiste una versione gratuita e non richiede alcuna installazione. Può anche eseguire test di carico.

Un altro strumento che mi piace è Open STA: http://opensta.org/

Si concentra principalmente sui test delle prestazioni ed è gratuito.

AGGIORNAMENTO 2018:

Poiché la risposta è piuttosto vecchia, il progetto OpenSTA non sembra molto attivo (tuttavia lo strumento è ancora disponibile) ma ora ci sono altri due strumenti che consiglierei anche:

A mio avviso, Gatling sembra migliore in quanto non vi sono limiti e forniscono anche soluzioni Enterprise commerciali e si adattano a strumenti di integrazione continua come Jenkins.

NeoLoad al contrario ha una versione gratuita ma limitata a 50 utenti (che può essere sufficiente per alcuni casi). Il confronto completo delle funzionalità è qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top