Forum  General Visual ...  How do I...?  VWG Stress tools
Previous Previous
 
Next Next
New Post 2/3/2010 6:06 AM
Informative
  fletus
1 posts
No Ranking


VWG Stress tools  

 Hello  everybody.

Can someone tell me if there are any stress tools for checking VisualWebgui performance under heavy load?
Thanks
 
New Post 2/6/2010 10:20 PM
  ddks
240 posts
4th Level Poster


Re: VWG Stress tools  

Hey,

We use various techniques which are basically standard web performance testing tools. We use Selenium Grid to run 50 concurrent users tests. We created approx 15 different different test scripts and let the 'user's execute this.

Then we also use Browsermob (which is an ondemand solution) to run more extreme testing like a few thousand concurrent users. The nice thing is that Browsermob support the same test-scripts (Selenium) and with using a brower-plugin we can simply record the script.  The selenium plugin also supports export to c# code (nUnit) which we use to control the Grid center.

hope this helps,

Daniel

 
New Post 2/8/2010 1:29 PM
  SplitMerge
75 posts
www.hrtms.com
No Ranking


Re: VWG Stress tools  

I am more than a little skeptical about standard web stress tools working correctly with VWG, given that this a 100% ajax application.

Most stress test tools use URL Get/post requests to simulate user traffic. That is not going to work with VWG - you actually need to have something interact with the surface of the application to trigger a realistic response. Remember, the main URL never changes with VWG.

I should mention, however, that I did not try to use the latest generation of stress tools (such as those that Daniel recommended), and these tools may do a great job of testing AJAX calls.

In our case, we used a more brute force approach: We created a 'stress test mode' in the application that basically invokes every node in the main tree using a timer, and then logs the results to a file. We then solicted a large group of users to create 10 IE browser windows each, logon as a different user in each window, and start the stress test mode.  We comfortably hit 85 concurrent users on a single box with about 2-5 seconds response time when changing screens (selecting a new node in the tree).

There may be more sophisticated techniques, but the way did it simulated an actual user experience of accessing evey node in the application tree. We then reviewed the logs to see how the performance was impacted.

On the subject of deployment, we did some experimenting with application pools. As you know, IIS uses application pools to actually run the web processes. VWG 6.3.xx does not support web gardens (which is a application pool configured to have multiple processers). Since you must have a single processor pool, we created multiple virtual directories on the web server, each of which points to their own application pool (e.g, Site1uses Pool1, Site2 uses Pool2). This effectively spreads the load across the machine in much the same way as a web garden. When our users access the application, they come into a simple html page which redirects then randomly to site 1,2, or 3. You could create any number of virtual web sites using this technique... we stopped at 3 sites.

We do have to recycle IIS overnight. I am not sure if our application is slowly eating memory, or if the problem is in VWG.  I have a suspicion that VWG is not releasing the default main form even if the session is closed. In my testing, I cannot get the Main form destructor to ever fire. That tells me that something is holding onto it... maybe someone else has some insight into that issue.

Hope our experiences are helpful.

 

Mitch Stephens

 
New Post 3/20/2010 7:46 AM
  palli
11189 posts
1st Level Poster




Re: VWG Stress tools  

Hi Mitch,

Thanks for your points.

According to the information posted in a thread from Ori, and referenced on the Wiki stateserver article, then by setting web.config cookieless to true, stateserver should be available to version 6.3 also.

Regarding the destruction of your MainForm(s), this was discussed on the forums a few months back, as I recall, and there were some thorough tests made to detect memory leaks and nothing was detected. I put up a small sample app, hooking into dispose override on my mainform and then in my mainform and write a log when it gets called. In the MainForm I allocate 1K of data and then abandon the session, and repeat over and over again.

First few times when I abandon the session, the destroy override is not called, but after a few rounds, they start ticking in, exactly like they should in my opinion, when garbage collection is initiated.

If I do a Context.Transfer from the MainForm to another form, the override is called immediately, again as it should, as when you do a Transfer, the form is destroyed immediately before context is transfered to the other form.

According to this, then in my opinion the theory of destruction is working.

Hope this helps,

Palli

 


Páll Björnsson - Visual WebGui support team - Email: support@visualwebgui.com
 
New Post 3/20/2010 1:27 PM
  SplitMerge
75 posts
www.hrtms.com
No Ranking


Re: VWG Stress tools  

Hey Palli,

Thanks for taking the time to look into that. I think you are right.. the mainform destructor does eventually fire, but it may take some time to kick in.

Mitch

 
Previous Previous
 
Next Next
  Forum  General Visual ...  How do I...?  VWG Stress tools
CompanionKit Bottom
.NET Web, Cloud and Mobile application delivery platform | Sitemap | Terms of Use | Privacy Statement | Copyright © 2005-2011 Visual WebGui®       Visual WebGui weblog on ASP.NET Visual WebGui Group on LinkedIn Visual WebGui updates on Twitter Visual WebGui Page on Facebook Visual WebGui YouTube Channel Visual WebGui Platform News RSS