Forum  General Visual ...  How do I...?  cpu usage
Previous Previous
 
Next Next
New Post 2/23/2010 11:13 PM
  ddks
240 posts
4th Level Poster


cpu usage 

Hi there,

Can anyone shed some light on CPU usage of VWG? If VWG is on a IIS server with 4 CPU's would all of them be used by VWG? Any insight on the specific internals would be appreciated as well as setup recommendations to support large number of concurrent users.

thanks,

Daniel

 

 
New Post 2/24/2010 4:58 PM
  SplitMerge
75 posts
www.hrtms.com
No Ranking


Re: cpu usage 
Modified By SplitMerge  on 2/24/2010 8:15:07 PM)

Daniel,

I am not an expert in IIS configuration, or how VWG behaves under heavy loads, but I can share what we are doing for a large customer:

 Firstly, you will find out that your Application Pool for your web application must be configured with only 1 process, which means "Web Gardens" are not supported. If you try increase the # of processors in the application pool, VWG goes crazy.

Thats a shame.. .here is an interesting article that speaks to the benefits of Web Gardens:

http://www.iis-aid.com/articles/performance_testing/boosting_performance_using_an_iis_web_garden

So if you are stuck with one worker process, you will not really be getting the full benefit of multi-core processor. So we came up with a simple workaround: create multiple virtual directories for your application, and configure each of them to use a separate application pool. In effect, this does the same as a web garden - except you are doing it at the virtual directory level in IIS.

Then we created a simple landing page which we publish as the URL to the application. There is single html file in that virtual folder - and it redirects users to one of the actual web sites (randomly). The upshot of this architecture is that you have n-number of IIS applications running the same underlying VWG application. From our testing, it appears like the CPU usage is more balanced since each application pool can lock onto a processor.Note that each application pool will have its own copy of static variables.

In our case, we defined 3 virtual directories, but I am sure you could try with more than that. 

I recommend that you recycle IIS every night. We started to get some weird behaviour if we did not recycle (like users being bounced out to the logon page).

Hope this helps.

Mitch  

 

 
New Post 2/28/2010 10:09 PM
  ddks
240 posts
4th Level Poster


Re: cpu usage 

Thanks Mitch, good info.

I am not sure if i follow how you spread the load.

As an example our site www.mydomain.com has 3 aspx pages which also have an embedded webgui control (handles user signup). Then after signup they get redirected to our main webgui app www.mydomain.com/user.wgx. where/how would i setup the balancing as you described?

Also if i would simply stick with very small webservers e.g 2 cpu's each and have a normal loadbalancers in front would this also work?

Thanks,

Daniel

 

 
New Post 3/8/2010 8:40 AM
  SplitMerge
75 posts
www.hrtms.com
No Ranking


Re: cpu usage 
Modified By SplitMerge  on 3/8/2010 11:56:00 AM)

Daniel,

Sorry about the delay in getting back to you.

To answer the last question first: Yes - you can just load balance multiple physical servers as one solution. Of course you need to manage both sites and connect to a database server. There are trade offs with multiple physical servers... you need to have shared network access and you will probably have multiple copies of the application to manage.

Getting back to the single box architecture.. I would consider creating a number of sub-sites to your main one:

www.mydomain.com/site1/user.wgx,  www.mydomain.com/site2/user.wgx,  ... as many as you have processors.

Since you are already 'soft-landing' your users on a logon page, your redirection code can just pick one of the sites to redirect to (randomly or by some algortithm).

Each of the 'sites' are just virtual directories under IIS, and each one will point to their own application pool. So you will have as many application pools as you have sites.  When you configure these virtual directories, you can just point to the same physical location -  so there is only one copy of the VWG application, only one web.config file, etc. Since they are different virtual directories, IIS and the VWG Server will see them as different applications.

At run time, each virtual directory (or web application) will run as a separate process (via the application pool) and have their own copy of static variables. 

This architecture appears to work pretty well for us.

Hope that makes sense. If you want to chat about it.. just email me at mitch@hrtms.com

Mitch Stephens

 

 
New Post 3/13/2010 8:23 AM
  palli
11189 posts
1st Level Poster




Re: cpu usage 

Hi Daniel,

Please reply on this thread if you need any further information on Mitch's excellent explanation. Thanks Mitch.

Palli

 


Páll Björnsson - Visual WebGui support team - Email: support@visualwebgui.com
 
Previous Previous
 
Next Next
  Forum  General Visual ...  How do I...?  cpu usage
Azure banner
.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