[SL4] Alleluia !! Enfin un outil de Load Test pour Silverlight 4 … qui marche en 5 min ! {download, install et execution compris}
{Mon post d'origine ET mis à jour sur http://memoprojects.blogspot.com/2011/10/alleluia-load-test-tool-for-silverlight.html}
Après de nombreuses recherches, après avoir lu / écouté plusieurs personnes se plaindre des tests de charge pour des applications Silverlight, regardé des démos "Happy world", essayé des outils commerciaux {Voir PS en bas où j'ai énuméré quelques-unes de mes tentatives. UPDATE, j`ai remis en bas un de mes post qui m`a été censuré, mais j`en avais conservé une copie LOL. Je comprend pourquoi on a aussi peu d`infos },
j'ai finalement .... abandonné ce soir!
Mais une dernière recherche sur des sujets gravitant autour de Fiddler2 {d`après mes tests, je sentais que c`était une bonne piste}, je suis tombé sur stresstimulus. Alors désolé pour ceux/celles d'entre vous qui connaissaient déjà cet add-on gratuit pour Fiddler2 beta, et aussi peut-être ses limites {auquel cas, je suis preneur}.
Pour les puristes, je ne veux pas de tester Silverlight en tant que tel, car Silverlight s`exécute côté client et qu`on a déjà des outils à ce niveau. Plutôt, je voulais valider qu'une fois déployée en production, cette application RIA ne mettra pas nos serveurs `Down`. Donc, je veux simuler la charge côté serveur. Cette charge étant générée par les différents appels à aux services Web WCF.
Pour ma 1e tentative, j'ai choisi une `Line Of Business` assez complexe
{Avertissement pour ceux qui reconnaît cette application /!\ Je l'ai juste fait en douceur afin de ne pas tout casser}.

En 5 minutes, miracle j`obtiens des résultats détaillés ! Miracle, car ce fut tellement simple et ... en plus gratuit ! {Nous pourrions passer à la version Pro si ça fonctionne sur notre application réelle}.


Résultats
Performance Graphs: Number of simultaneous users, request per seconds, Average response time, Bytes received per seconds, Errors per seconds.
A summary page:
| Test Summary Test Case Summary File Name: Thavonekham-Tests.ssconfig Primary Pages: 2 URLs : 39 | |
Test Parameters Think time between base pages: As recorded Iteration timing: Think time between iterations - 2s Load pattern: Constant load Users: 5 Browser Type: IE8 Network Type: Dial-Up 56k Complete test after: 5 iterations Warm-up time: 0 seconds Test Run Information Date: Oct-1 2011 Start Time: 21:46:34.19 End Time: 21:48:00.11 Warm-up (s): 0 Aggregate Session time (s): 851.53 Test run duration (s): 85.92 | Overall Result Status: Completed Max User Load: 5 Total bytes sent: 138,960 Total bytes received: 41,191,492 Bytes sent/sec: 1,617.292 Bytes received/sec: 479,409.064 Errors Http Errors: 0 Total Timeouts: 0 Page Timeouts: 0 Missed Goals: 0 Test Iterations Iterations Started: 5 Iterations Completed: 5 Avg. iteration time (s): 78.76 Requests (HTTP transactions) Total requests: 195 Requests/sec: 2.27 Avg. response time (s): 4.37
|
Page detailed {in terms of *.aspx for instance}:

Request details {including resources such as xaml, png, xap, svc, …}

Et enfin
Iteration Details

Et cela sollicite bien mon PC {ce 2e test ci-dessous a duré 30 secondes}

Limitation: Les rapports générés ne détaillent pas le nom des WebMethods des services WCF appelés, sauf dans l`exemple que j`ai donné ci-dessus, car l`appel WebMethods passait par Query String.
Conclusion Ca marche aussi sur notre projet réel, mais il ne faut pas encore crier victoire. Car, même si j'adore Silverlight comme application pour faire du RIA, j'applique d'autant plus le proverbe "un tiens vaut mieux que deux tu l’auras ". Surtout qu'avec Silverlight on a l'impression d'être les parents pauvres du .Net ! {suivez mon regard pour les TU et le CodeCoverage, l`ALM Silverlight, …}
Si vous trouvez de meilleurs outils, là aussi je suis preneur.
PS: Pour la petite histoire sur une partie des différentes solutions que j'ai essayé "{
et commencez à comprendre ma douleur}. Un de mes post qui m`a été censure sur
http://forums.silverlight.net/p/77384/596846.aspx/1?p=True&t=634530835331190250
Re: Load Testing vis Silverlight Client? 1 hour, 16 minutes ago | LINK Hi, I also struggled finding a proper load testing tool for Silverlight 4 {I know plenty of smart people would claim that there is no need to test RIA, but I want to test the WCF that my SL is using} : Plenty of "Hello World" nice and sunny video, ... but the reality is so different. 1> Despite the fact I was using VS 2010 ultimate, it seams not to work "out of the box" for SL ! {despite its price} 2> I successfully used Fiddler2 {free of charge} to record aspx calls, and most importantly the binary WCF calls { svc}. Fiddler2 offers the surprising ability to "SAVE AS VISUAL STUDIO WEB TEST" [Visual Studio WebTest http://www.fiddler2.com/fiddler/help/WebTest.asp]. The only problem I had is that VS 2010 did not understand the binary messages that was recorded ! Damned !! I guess I unfortunately have to add an plain text endpoint. That was my most promising experience in Load testing with SL. 3> Otherwise you can find at least 2 CodePlex projects {http://wcfloadtest.codeplex.com/ and http://teamtestplugins.codeplex.com/}. that seams to be OK, but they are not really maintained. My first go with those tools did not succeed all the way through. only partially. 4> It seams HP Loadrunner 11 supports Silverlight 3 and 4 with WCF bin mode {but not advanced bindings, which is fine with me}. I will try that in the following months {just the time for me to sort out the license and first install}. 5> Selenium Silverlight http://code.google.com/p/silverlight-selenium/updates/list and www.neotys.com If you are more lucky with EASY tools {i.e. I know my VS 2010 would work with plenty of cheats and "CodePlexes" }, please HEEELLLLPPPPP !! UPDATE > alleluia I just tried a Free {but with limited Virutal Users} add on to the great Fiddler2 beta. It is stresstimulus > Follow the link here http://memoprojects.blogspot.com/2011/10/alleluia-load-test-tool-for-silverlight.html. Vincent THAVONEKHAM. SL4LoadTest@thavo.com www.thavo.com |
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :