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

HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Using IDisposableUsing IDisposable
Previous
 
Next
New Post
5/3/2007 7:19 AM
 

Nice question. I think also that DNN uses much memory, my application pool is often up to the 100 MB, and I don't have too much visits. I just upgraded the ram on my server (640 MB), and it seems that things are going OK, I changed some settings in the application pool limits but I have max. 10/20 visits by day. I think that DNN 4.5.1 has won in some places, but I didn't made a complete test of memory load. It could be interesting that we have some report of some resources usages on different sites and scenarios :-)

 
New Post
5/3/2007 7:44 AM
 

DotNetNuke uses a version of the Microsoft Data Access Block that handles closing and disposing connections automatically.  In the early days of DNN, before our current data architecture was implemented, we handled this in each module and in the core.  However, because each developer was responsible for opening/closing/disposing connections it resulted in a lot of memory leaks due to unclosed connections.  We have not had that problem in a very long time.  So, as long as you are using the core DNN APIs for making your db calls then you should not ever see a connection object which means you do not need to clean up after the connection objects.


Joe Brinkman
DNN Corp.
 
New Post
5/3/2007 7:48 AM
 

Thanks Joe,

that was what I wanted (and expected) to hear.
Now how about high memory loads...
Would it help to set object = nothing (if you understand what I mean)
Any other tips for reducing memory load....

 
New Post
5/3/2007 7:50 AM
 

And by the way, let's say you have some stored procedures which take a long time, and a busy website.
Then I think it would still be possible to get  a maximum pool size error wouldn't it?

 
New Post
5/3/2007 8:13 AM
 

Yes.  Long running sprocs will kill scalability for any  OLTP system, so don't create long running sprocs if you can avoid it.  Usually long-running sprocs are the result of really innefficient SQL or when you are doing massive computation in preparation for reporting.  In these cases, if I was seeing a performance issue, I would replicate my db and run the reports against the backup instead of the primary datastore - or better yet, I would create an OLAP instance that was designed to handle my reporting needs.

Setting an object=null or object = nothing does not actually free memory any quicker than just allowing the variable to go out of scope.  Memory is only freed when the garbage collector can no longer find a path from a "rooted" object to the object to be garbage collected.  The garbage collector runs as frequently as needed based on some internal .net rules and is generally impervious to attempts to get it to run more frequently.

If you want the biggest bang for your buck, then uninstall any modules you are not using and remove any assemblies from your /bin directory that are not being used on your site (for example, you will generally only be running one logging provider, so you should not have both the XML and DB logging providers in the bin dir).

Also, if memory becomes a huge issue, you can switch modules over to use disk based caching instead of caching in memory.  This is slightly slower than the memory approach, but still results in a faster site than not having caching at all.


Joe Brinkman
DNN Corp.
 
Previous
 
Next
HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Using IDisposableUsing IDisposable


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