Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Some performance numbers about your webfarmSome performance numbers about your webfarm
Previous
 
Next
New Post
11/5/2010 7:19 AM
 
There are sites out there which are quite liberal with talking about there server-infrastructure and number of servers and configuration.
I'm a fan of highscalability.com and if you look at the "all time favorites"-section there you will recognize two out of ten articles are about sites which are built with a microsoft stack  stack-overflow at highscalability and plentyoffish at highscalability .
In the last couple of days stackoverflow overhauled their servers and blogged about it: stackoverflows new servers
I think this is great.
Is it possible that the core-team is saying something about the dotnetnuke-webfarm, about the current hardware?
Stackoverflow is written with ASP.Net MVC - is there such a great performance hit when using VIEWSTATE and ASP.Net-forms?
What about running on more Web-Heads? Is scaling a ASP.Net Forms-applications harder than a ASP.Net MVC.
It seems to me that Microsoft is preferring ASP.Net MVC apps for Windows Azure and one argument seems to be that ASP.Net-forms is not scaling well. I don't care about the Azure-Argument but it is an indicator.

Best regards,
Thomas
 
New Post
11/5/2010 10:29 AM
 
Forms and MVC are not that different. Remove the ViewState and add a fancy http request handler to ASP.NET WebForms and you end up with ASP.NET MVC. Both frameworks share most of their code. 

Scaling a Forms application is not harder than scaling a MVC application. You must solve the same problems: synchronize file systems, session state and data cache between instances. The solutions are the same.

But the ViewState is a problem. Not because of it's design, but because of how it's (mis)used. Unfortunately Microsoft decided to turn it on for all controls by default. Most programmers don't now how and when to turn it off. The sad fact is that 99% of all the viewstate served by ASP.NET WebForms applications is unecessary bloat. It's not uncommon to see sites with hundreds of kilobytes of viewstate data. All this data is sent back and forth with every page request and postbacks including many ajax requests. That won't scale. And the site will feel slow for every user even when traffic is low.

If all developers would learn how to deal with the viewstate, the problem would be solved. But, that's not going to happen. Customers need to check the impact of third party modules have on their viewstate and spend their dollars accordingly. 




 
New Post
11/5/2010 11:05 AM
 
Thanks for clarifying this.

>You must solve the same problems: synchronize file systems, session state and data cache between instances
I absolutely agree with you, I already read a lot about how to tackle this things. I already have a test-dotnetnuke-webfarm up and running inside our lab.

>But the ViewState is a problem. Not because of it's design, but because of how it's (mis)used. Unfortunately Microsoft decided
>to turn it on for all controls by default. Most programmers don't now how and when to turn it off.
I read about it (switching off VIEWSTATE) and to be honest, I don't know how to switch it off without breaking DNN.
Is this possible?
Is it a lot of work?
Is it worth doing it?

Are there numbers around where we can estimate the impact of VIEWSTATE on a common load scenario like dotnetnuke.com.
If VIEWSTATE adds 10% additional work to the scenario than this is not worth talking about it. But if we are talking about 50% or more this could be difficult especially in a webfarm scenario.

Best regards,
Thomas

P.S.: I don't know why DNN is so tight lipped when it comes to cloud and stuff. As far as I can see DNN is a great framework for generating Multi-tenant-PaaS-offerings.
 
New Post
11/5/2010 12:05 PM
 
The biggest problem with the ViewState is that you need to make the decision if it's needed for each individual control on a web page. 99% of the time, it is not needed. But still, you cant just disable the ViewState for all controls, because most pages have one or two that needs it's viewstate. Unfortunately, lousy developers keep it on for every control because they don't understand it.

The only thing Website owners can do about the ViewState is to be careful about the skin and modules they put on their site. Choose skins and modules from vendors and other sources that doesn't impact the ViewState too much. No page needs a big viewstate. A big view state is bad programming. Used correctly, the viewstate is the best solution for some tricky problems. 
 
New Post
11/8/2010 5:19 AM
 
I investigated a little on this topic - there seems to be headroom for optimization.
Other asp.net-systems have a better track record:
System.Data.SQLite-Page built with Community Server VIEWSTATE-Size = 164 chars
Kentico VIEWSTATE-Size = 156 chars
umbraco VIEWSTATE-Size = 340 chars
n2 ASP.Net-CMS VIEWSTATE-Size = 440 chars
Burj Khalifa built with DNN VIEWSTATE-Size = 2656 chars
Will Strohls Website built with DNN VIEWSTATE-Size = 14700 chars
Last year I was at the DNN Openforce Europe in Arnhem, Cathal Connoly was talking about performance optimization. About smaller jpegs, precompiled jquery. I can't remember exactly but I think he was not talking about VIEWSTATE. It costs perfromance to generate it, it costs traffic because it is included into source code, it costs traffic because the client send it back with every POST, it costs performance because the server-side has to interpret it.
And there are ways to disable it on a per control-level at design time.

Best regards,
Thomas
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Some performance numbers about your webfarmSome performance numbers about your webfarm


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out