Putting application under stress - testing performance with Fiddler 22012-09-30 16:14:39 0 comments
Although Fiddler 2 lost some of its advantages in the context of debugging browser's traffic it can be still quite useful. Some of its features can be find in Firefox add-ons like Live Header or Chrome Toolbar but as far as I know there is no replacement for request resending feature which can be used as a tool for testing (except applications named before). Fiddler works as a proxy. It means all of the network traffic is send via Fiddler. It's free and you can download it from official page.
If you decide to install it, you should definitely check add-ons and Fiddler demonstration Videos. From my point of view the most interesting add-ons are Traffic Differ, neXpert, StresStimulus and intruder21, but lets focus on a testing stress without any add-ons.
Main application's window is divided in two. On the left side you can see all of your sessions and on the right there are tabs with options and lots of data. Try to open a web page in a browser and watch for Fiddler's reaction. You should try changing pages by clicking on a link, sending form and sending an AJAX requests. All of actions should appear on the session's list. At any time you can view request's details on the right by clicking on a chosen session.
Basic application's performance testing is nothing more then resending requests. You can send only one session or a whole list of sessions. As you can see on the screen below I've selected a dozen or so sessions to simulate a few page loads and submitting a form - a typical users' behavior. If you click on the replay button in the upper left corner you will send selected requests only once, so instead of that, holding SHIFT key click on the replay button. A new window should appear.
Now you're simply determining how many times session will be send one after the other. Unfortunately I don't know if the is a method to change a bit a distribution of requests by choosing between a few alternative lists of sessions or setting up pauses between subsequent requests.
When sending is over you can check in the statistics tab differences between the first and the last session. In my case requests were queued and according to data provided by Fiddler waiting time for response last over 37 seconds.
At first glance I didn't believed that response time was so huge even if there was 50 parallel requests so I tried replay session package once again and use Chrome browser to do some additional requests. After that test I know that in fact under big pressure my site can be really slow.