Web Load Testing Tool Causing Exceptions


I'm trying to load test my asp.net application.  I've tried using MS ACT and Red Gate's Ants Load tools, but using either one causes my app to generate alot of exceptions. I'm recording a script and running it with 5 simultaneous connections.  The exceptions only seem to be occuring in a couple of pages and I'm not sure why since this does not happen in normal operation(I know - stress testing isn't 'normal operation'). This may seem silly, but is it simply because my app uses forms authentication and I really need separate scripts for each virtual user?  If this is the case, why isn't it effecting all pages?

I'm trying to figure out if the load tools have exposed a serious issue in the application or if some scenerios just can't be included in the testing.  I know I'm not giving much detailed info here, but I just want to get some direction from anyone with experience using stress testing tools.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

what kind of exceptions are you getting? can you give me more information on it.

LloydMcAuthor Commented:

Some of the exceptions are invalid object references which point to session vars, but many errors related to the LosFormatter class occur as well.  The LosFormatter exceptions would seem to point to some issue with viewstate.  The page which throws the LosFormatter exceptions contains user controls which render hyper links with encrypted query strings.  The encrypted query strings are generated by server side script blocks within the html.
Are you making sure that your encrypted strings are html safe? You can use Server.HtmlEncode on strings to make them into true HTML. To track exactly what is causing your errors, you could put a trace on the pages using the trace section of your web.config, and maybe a generic exception logging section in your global.asax using the protected void Application_Error(Object sender, EventArgs e) auto-event handler method. This could save exception details with the current state of your sessionstate etc off to a database.

If you are using the same session for each simultaneous connection, you are modelling a potential user scenario. It's possible to recreate it by logging in to your application, and once you are in, creating a new window from that internet explorer window. Then you have one user following two or more distinct navigation paths through your application in the same session. Whether or not they would ever have problems from posting back two pages at the same time is questionable.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
LloydMcAuthor Commented:

I was previously using HttpUtility.UrlEncode on the encrypted query strings and replacing it with Server.HtmlEncode seemed to stop the runtime exceptions when running the app within the load testing script, however, the load testing tool seems to be capturing those same exceptions as http request errors. When I expand the descriptions for these errors, they reference server side objects, strange. As before, I do not get these exceptions when running the application normally.  It's as if the Server.HtmlEncode encoding method causes the load testing script to swallow these errors so they don't bubble up to my central error handler in my global asax file.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.