Ho un'applicazione client/server scritta in C# /. NET 3.5 su cui voglio eseguire un po 'di test delle prestazioni. Stavo cercando una struttura generica per aiutarmi ma non ho avuto molta fortuna. Vorrei qualcosa in grado di gestire un insieme di client ed eseguire azioni casuali per loro in base ad alcune impostazioni. Vorrei anche registrare alcuni dati relativi a questo per aiutarmi a superare le soglie di massima per il mio sistema, ad es. Posso supportare n utenti che eseguono x azioni al secondo.Framework di testing delle prestazioni generico per .NET
vorrei scrivere codice specifico per la mia applicazione per eseguire operazioni quali:
- login/logout di un client.
- Invia messaggi al server per eseguire varie azioni.
- Registrare conferme e altri messaggi dal server.
- Misura le statistiche specifiche del sistema.
spero quadro sarà quindi in grado di prendere una serie di parametri per descrivere uno scenario di test come ad esempio:
- Numero di clienti registrato in un dato momento.
- Esegui un dato numero di azioni al secondo per ciascun cliente.
Avrebbe quindi eseguito lo scenario, gestire e tenere traccia di tutti gli utenti e le azioni e raccogliere tutti i dati. (Questo è il bit noioso che sto cercando di evitare di codificarmi ...) Idealmente avrebbe integrato alcune misure generali, ad es. tempo tra l'invio di un messaggio e la ricezione di una risposta, ma potrei codificarlo da solo se non lo sono.
Non voglio fare alcuna profilazione del mio codice; Posso sempre collegare un profiler mentre eseguo questi test in seguito. Invece voglio fare alcune conclusioni approssimative sul mio sistema, cioè quanti utenti posso lanciarlo prima che si rompa. (Se c'è un termine migliore per questo di 'test delle prestazioni' per favore fatemi sapere ... Stress test forse?)
Mi rendo conto che non sto dando molte specifiche sul sistema qui. Mi sembra una situazione abbastanza generale - sono sicuro che ci sono molti sistemi client/server là fuori che le persone devono fare test simili. Ho trovato molti framework basati sul web per fare cose simili, ma sembrano essere molto radicati nel web e non si prestano facilmente a sistemi non basati su HTTP.
Qualcuno sa di tutto ciò che potrebbe essere d'aiuto? La mia ricerca non ha ancora trovato nulla. Devo sottolineare che sono rimasto bloccato con Visual Studio 2008 Professional per il futuro prevedibile, quindi se il 2010 può farlo è fuori dai limiti per me. Suppongo che non debba essere un framework .NET, a patto che riesca ancora a collegare il mio codice .NET abbastanza facilmente.
EDIT Per essere chiari, la mia applicazione non è un sito Web, è un'applicazione client Windows Form che si collega tramite un protocollo personalizzato a un servizio .NET. Posso scrivere codice per eseguire le azioni client rilevanti, ho solo bisogno di un framework per inserirlo.
Hai guardato questa domanda su. Profiler Net? http://stackoverflow.com/questions/3927/what-are-some-good-net-profilers – TheLukeMcCarthy
Non voglio fare il profiling, posso farlo più tardi se risolvo se ho un problema. Sono più interessato a misurare il numero di utenti che il mio sistema può assumere. – MrKWatkins