Hi,
I've seen it mentioned on these forums that episerver really needs 2-3 GB of RAM. It has been my experience that it needs plenty of memory too, but I want to sanity check the memory usage I actually have.
One site I've developed is currently deployed on a machine with only 1 GB of RAM, and it gets locked in a continual binge and purge of memory as recycler kicks in. Another site has 3 GB, and runs quite happily, with total memory use at around 1.3 GB. At first glance I'd think the poorly performing site needs at least another 500 MB, but the server it's on is also hosting another episerver site, and apparently that one was quite happy until this new one became public.
What I'm looking for I suppose is what other people find to be typical memory use for episerver in various scenarios. Is 1.3 GB reasonable, or should I be looking carefully at my code? If the latter, are there any aspects of episerver that are particularly memory hungry?
Hi, Tim.
From my experience, it all comes down to how many people visit your site(s).
One of our customers is only running one site on a server, which is running with 1.5 GB RAM. And this is running just fine, since there's not that much traffic.
Another customer of ours was also running only one site on a server, with only 512 MB RAM. This was about 18 months ago. Then we began developing a new site for this customer, and we used this same server as a test server for this new site. Once the new site went live, we had to install another 2 GB RAM. Not because of the installment of a second site, but because the new site had a lot of traffic (right away). Even this didn't help, so today we are running it in with load balancing with 2 servers on Windows 2003 and 3 GB RAM each.
When it comes to memory hungry aspects of EPiServer, I've heard that some of the internal search methods for the web controls (for example ChangedPages) can get very slow, if you have a lot of pages in your site.
Also, if you've created you own database tables, and use them in every page loads (if you have to load in some data of your own, for example custom user data), make sure these tables are indexed properly.
And finally, caching! Need I say more...
Frank :D