2009-08-20 10 views
6

Sto mantenendo un'app Web con problemi di prestazioni.Test delle prestazioni per l'app Web esistente - Utili strumenti?

Voglio registrare una serie di azioni, quindi riprodurre quelle azioni una volta apportate le modifiche e confrontare i tempi di caricamento della pagina in modo da poter quantificare il miglioramento delle prestazioni.

L'IDE Selenium fa ciò di cui ho bisogno per registrare e riprodurre le azioni, ma non ho trovato un modo semplice per registrare i tempi.

C'è un buon modo per registrare e confrontare i tempi di caricamento delle pagine usando il selenio? Esiste invece uno strumento migliore da utilizzare?

+2

possibile vittima? http://stackoverflow.com/questions/635123/what-is-a-good-tool-or-site-to-use-to-performance-test-a-web-page-site – Joel

+0

Direi "sì ", ma nota anche che questo potrebbe essere differenziato abbastanza facilmente se Joseph * non sta * lavorando con ASP.NET su Windows, come sembrava essere il precedente questionario. – Shog9

+0

@Joel: Le cose cambiano ... –

risposta

2

La scheda Rete in Firebug può aiutare a misurare e scoprire che cosa influenza esattamente il tempo di caricamento del sito web. Non hai nemmeno bisogno di avere accesso al server per usarlo. YSlow Fornisce suggerimenti molto interessanti per migliorare il carico e la sensazione complessiva di un sito specificato. Personalmente utilizzo la scheda Rete per identificare i possibili tempi di caricamento, che si tratti di immagini di grandi dimensioni, javascript css o cattive latenze. Non ho mai sentito di uno strumento automatico per fare questo, il selenio AFAIK ti aiuta a costruire test di integrazione che ti aiutano a garantire che certe parti dell'applicazione funzionino come previsto, ma non sono sicuro che possa essere usato anche come strumento di profilazione. Spero che questo aiuti

2

A seconda della complessità dell'applicazione, è possibile utilizzare JMeter dall'ASF.

È un'applicazione di prova del carico basata su Java con un numero di plug-in di grafica, supporti di protocollo, controller, framework di reporting e così via. È possibile scegliere quali dati registrare, come grafico, come output su file e così via. Lo inserirà persino in formato CSV o in una varietà di formati basati su XML.

È brutto ma funzionante, a meno che l'applicazione non sia pesante con JavaScript ... Non include una VM in grado di eseguirlo e dovrete fare cose come AJAX usando gli hack (come Regexes e le risposte artigianali. Icky.) È open source, quindi puoi aggiungere controller aggiuntivi se ne hai bisogno.

Tuttavia, per fare ciò che si desidera (Registra azioni, replay, grafico/archivio risultati) dovrebbe essere sufficiente.

0

Misuro generalmente il tempo impiegato da ciascuna richiesta utilizzando System.currentTimeMillis e lo registro a livello di debug in ambiente di sviluppo e test. Quindi eseguo selenio o JMeter e successivamente elabora i log per ottenere statistiche diverse. Prendo le richieste più lente e continuo a sondarle per vedere dove sono la lentezza e il collo di bottiglia.

In alternativa, invece di farlo nel codice stesso, è possibile scrivere i propri script di selenio o utilizzare lo script generato dal registratore e aggiungere alcune registrazioni nel codice generato.

Le prestazioni dell'interfaccia utente sono completamente diverse. Praticamente mi affido a YSlow per questo.

5

Si potrebbe voler dare un'occhiata a BrowserMob (http://browsermob.com/). Puoi caricare gli script di test IDE Selenium e farli funzionare sul tuo sito. È il fondatore è il creatore di Selenium RC, Patrick Lightbody.

0

Vorrei dare un'occhiata a Faban.

Semplice da configurare e utilizzare per il caso facile, sottolineando una singola pagina utilizzando "feh".

Per i modelli di utilizzo più complessi è possibile creare i modelli per simulare un pieno carico sul proprio sito.

0

Ecco uno strumento semplice che funziona: test_it. In sostanza,

  • vostre macchine di prova necessario .NET 4.0
  • ottenete i binari
  • utilizzando fiddler di ispezionare i pacchetti HTTP che meglio quando si esegue i tuoi scenari di test
  • descrivere quei pacchetti in un testo file di parametri utilizzando sintassi semplice
  • specificare quante richieste/sec desideri
  • gestiscono i binari
  • non dimenticare di monitorare macchina in prova

Alcune informazioni qui: rextester

+0

Hai omesso di indicare la tua affiliazione con questo link –

+0

@Andrew Barber L'ho scritto poiché avevo bisogno di qualcosa di semplice, ma flessibile. – ren

Problemi correlati