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...Must DNN hit the database for every page view?Must DNN hit the database for every page view?
Previous
 
Next
New Post
9/26/2006 5:05 PM
 
Hi,
I'm in the process of determining whether or not to move my asp.net 2.0 site to DNN.

After running some simple scalability tests this morning, I see that my current hardware (Athlon 64 3000+, 2gb ram, on win2k3) can support right around 250 page views / second (including pulling down the referenced graphics, css, client script, etc).

My goal is to support one million page views / day in the near future, and I think my current hardware can probably get me there. It all depends on distribution of requests against time, and I haven't modeled this much yet.

After some basic tests with DNN, I see it querying the database for every single page request (dbo.GetTab sp). It is a fast SP with very few reads, but I'm still disappointed to see the direct correspondence of page views to database queries. I was hoping enough was cached that this would not be necessary.

Can anyone tell me if it is possible to optimize a DNN installation to where this data is cached? It doesn't have to be smart cached to where it is expired only when the data changes, but even if it is cached for a few seconds that would relieve me of this direct tie.

After ridding my current site from this constraint (with short duration caching) I increased max page throughput from around 20 / second to around 250 / second. This is with about a dozen static files (few small images, css, js) pulled down along with the page. The SPs I am executing are of short duration, but still definitely more than 11 reads.

If anyone has a pointer to scalability case studies that reference page requests / second I would love to see it.

Thanks!
Adrian

 
New Post
9/26/2006 5:49 PM
 

Every page request will generate database hits, as we need to do various checks for security, permissions and various functions, as well as content. At the minute work is being done to remove some unnecessary and repetitive database hits, and to use caching more intelligently so that there will be less database access overall, these enhancements should be done for the next version. Caching will help eliminate lots of database actions, but it will consume more RAM, so it can be a balancing act. Solution such as http://www.snapsis.com/pageBlaster.aspx or the core compression utility http://www.dotnetnuke.com/DotNetNukeProjects/UtilityCompression/tabid/828/Default.aspx can also help in this area.

Cathal


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
9/27/2006 11:44 AM
 
Hi,
Thanks for the info and pointer, it is helpful.

I performed the following scalability test this morning:
-Create simple module that is just a wrapper for one of my user controls. The user control is set to cach output for a few minutes, so it contributes no work after the initial load (< 1 second).
-Create simple page that contains this one module.

I fired up my stress client and maxed out at about 20 requests GETs / second. This is just for the .aspx file, I didn't pull down the few images referenced from the user control.

The result was 101 requests / second getting through. Of these, 24 / second were successful 200's and 77 / second were returning 403's.

I think the majority of the cost per request is just all of the runtime work that is being done. The database is only seeing about 7 queries per GET of my simple test page, and these are all "0" duration queries.

I very much would like to move to DNN, but the performance I am observing currently appears to be a deal killer. I can't come close to scaling to my traffic goals on the current hardware, and I don't think I can make the case that DNN over our current solution is worth buying significant hardware.

When I enabled PageBlaster the throughput was awesome, but as far as I can tell it only supports caching the entire page. I would have no way to have user specific content on pages. It also does not give me the ability to customize the caching based on different datasets.

If you have any other suggestions I would love to hear them, otherwise I'll just have to keep my eye on future versions of DNN to see if any huge perf gains are made.

Thanks!
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Must DNN hit the database for every page view?Must DNN hit the database for every page view?


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