Come effettuare test delle prestazioni sul nostro sito web
-
22-09-2019 - |
Domanda
e il nostro cliente ci hanno bisogno di simulare 50 persona a lavorare allo stesso tempo sul sito web, e il tempo di risposta dovrebbe essere entro 5 secondi. Ma la nostra preoccupazione è che se ci prova al loro sito web, non possiamo controllare la velocità della rete, hardware e così via. Come che potrebbe influenzare il nostro risultato del test. e un'altra cosa è che ci sono alcuni antiforgerytoken nel nostro sito web, lo strumento di test delle prestazioni non può simulare questo meccanismo, dopo registriamo la richiesta, e il sistema di inviarlo di nuovo, fallirà, in quanto il token viene invalidato. e voglio sapere come si fa a eseguire il test delle prestazioni di solito? eventuali suggerimenti ? Grazie in anticipo!
Soluzione
Il mio approccio al solito viene gradualmente.
In primo luogo, prova nell'ambiente di sviluppo utilizzando un semplice strumento come WCAT. Non verrà eseguito JavaScript o fare postback, ma sottolineerà richieste e thread simultanei, che sono spesso i principali colli di bottiglia delle prestazioni.
Una volta che sta lavorando, se lo desideri, per poi passare fino a Visual Studio Team Test, che supporta scenari più complessi. Avviare in laboratorio, e poi passare a un ambiente beta / pre-produzione. Mi piace anche di utilizzare i contatori delle prestazioni sul lato server e il monitoraggio, in aggiunta o talvolta, invece di misurazione sul lato client.
Per la logica anti-contraffazione, a scopo di test di carico solo si potrebbe costruire una versione del sistema che non ha tale verifica.
Avanti, test con utenti reali in un ambiente beta. I dettagli dipendono dal progetto. Se non riesco a utenti reali, ho anche creato messe a punto con decine di PC che esegue gli script di test con i browser reali. Ci sono alcuni buoni strumenti di terze parti che possono aiutare anche qui, come Runner Load (costoso, però).
Infine, continuerà a monitorare e testare una volta che il software va in produzione. Non è raro per il software che le grandi opere in versione beta a cadere a pezzi in produzione a causa di qualche differenza imprevisti o incoerenza (config IIS, per esempio).
Altri suggerimenti
Quando si esegue prove di carico, è davvero meglio di emulare l'ambiente nel miglior modo possibile. Se le risorse del sistema di test sono diverse da quelle del sistema produttivo, si sono tenuti a ottenere risultati diversi.
Ancora, è possibile eseguire i test con data hardware e relazione sui numeri che si ottengono. Per esempio, si può sapere quanta banda vostro sistema ha bisogno indipendentemente da quanto il sistema produttivo ha a disposizione, perché questo può essere misurata.
Ma se si vuole misurare contro ciò che il cliente vedrà, bisogna farlo con lo stesso ambiente.