Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Kyle Skrinak 272 posts 327 karma points
    Oct 26, 2009 @ 22:00
    Kyle Skrinak
    0

    Umbraco + memory usage

    I received an interesting email from my hosting company's tech department;

    "It has come to our attention that your site's application pool is consuming a large amount of memory and has been affecting the other sites on the server. I have set the pool to recycle more frequently which should help keep the memory under control and will follow up on this issue in a week or so…

    Does that sound like an ordinary issue for hosting an umbraco web site? This is their page describing the hosting service level. We had to upgrade from a more generic plan due to a medium trust-level assignment. (Whatever that means.) Is it me or does this sound to be on the up-and-up?

    Details

    • SERVER_SOFTWARE Microsoft-IIS/7.0
    • Microsoft .NET Framework Version:2.0.50727.3074; ASP.NET Version:2.0.50727.3601
    • umbraco v 4.0.2.1 (Assembly version: 1.0.3441.17657)

    Thanks!

  • skiltz 501 posts 701 karma points
    Oct 26, 2009 @ 22:15
    skiltz
    1

    I love it when hosting companies decide to recycle your application pool more often(sarcasism). 

    How busy is your website?  have they indicated how must memory the process is using?

     

     

  • Kyle Skrinak 272 posts 327 karma points
    Oct 27, 2009 @ 02:59
    Kyle Skrinak
    0

    No memory usage indicated; I'm asking my contact for this info, now that I'm piqued.

    Here's usage stats from Google Analytics: From Sept 25 to Oct 25
    7,006 Visits,
    2,853 Absolute Unique Visitors,
    24,236 Pageviews

  • skiltz 501 posts 701 karma points
    Oct 27, 2009 @ 03:25
  • Casey Neehouse 1339 posts 483 karma points MVP 2x admin
    Oct 27, 2009 @ 06:03
    Casey Neehouse
    1

    Hi Kyle,

    I have also experienced this.  Most sites I run tend to use 70+ MB.  Benefit of being in charge of a server!

    Some items to look into...

    • Are you using any extensions:  ImageGen, XSLT with inline scripts, etc.  I have noted that some of those can cause memory overhead issues.
    • Verify that debug mode is off.  There is a couple settings in web.config regarding this.

    If the host decides to limit your site too much, it may result in usability issues for your clients, as load times can be slow with .NET. 

    One option is to get a dedicated box.  Check out SoftSysHosting, they have cheap rates on VPS servers.

    If you are looking for a shared host, there are several options, including SoftSysHosting.  I also provide hosting in the US.  Email me at casey at bestcasetech.com for information

  • Kyle Skrinak 272 posts 327 karma points
    Oct 27, 2009 @ 11:58
    Kyle Skrinak
    0

    Hey all,

    I'm not the service decision-maker, so I love my shotgun bride, of course.

    I would think that a $40/month plan shouldn't choke so easily, but it appears that it does. In that other thread from skiltz, Doug suggests a number of things I can do; however, I do have access to my account using the MS IIS7 console; is there a way I can see the memory usage from that console?

    Much thanks!

  • Kyle Skrinak 272 posts 327 karma points
    Oct 27, 2009 @ 19:29
    Kyle Skrinak
    0

    Here the response regarding consumed memory:

    While the acceptable memory usage is determined by our discretion, the site has been consistently consuming upwards of 210,000kb of memory. This percentage of memory is far too large for a single site in a shared environment. If the site cannot be brought within reasonable limits, 25,000kb would be a reasonable amount of memory consumption, you'll need to consider a more isolated solution.  This could involve various forms of VPS/cloud hosting, or a dedicated server.

    So then, is 210,000kb too high? What should an umbraco site of this many hits be at?

  • Kyle Skrinak 272 posts 327 karma points
    Oct 27, 2009 @ 23:00
    Kyle Skrinak
    0

    Umbraco illuminati: please help -- is the memory usage, as listed, exorbitant? The client is hammering me on this. Thanks!

  • Jason Prothero 422 posts 1243 karma points MVP 2x c-trib
    Oct 28, 2009 @ 00:50
    Jason Prothero
    1

    How many nodes do you have in the site?

    Here's a very enlightening comment from Neils:

    http://our.umbraco.org/forum/getting-started/installing-umbraco/4148-Squeezing-more-sites-onto-a-dedicated-server?sort=newest

    The biggest memory hog in Umbraco is the internal content cache as each published node is represented as an in-memory cached XmlNode in a .NET XmlDocument. At the same time this document is cloned (in memory) whenever you publish. So say you have 12.000 nodes each containing 10kb of data. That makes a total xmldocument be 120mb of raw xml data. When this is represented as a .NET XmlDocument it'll probably grow 50% in size due to meta data so 180mb is likely. Then it'll be cloned upon publishing meaning that the published xml alone is 360mb.

    Number of visits/pageviews doesn't really affect the memory usage of Umbraco. If you need to host sevaral sites on the same box you could try to experiment with the memory size of each app pool and see how low it can go. A site with <100 pages should need more than 20-30mb RAM I guess (without any test backing that statement up I must emphasize!).

     

    So if I were to guess, you have a few thousand nodes in the site?  You could archive some information and unpublish it if its no longer needed (not great for long tail content)

  • Kyle Skrinak 272 posts 327 karma points
    Oct 28, 2009 @ 03:20
    Kyle Skrinak
    0

    We're an 8-language site; I believe we have 1800 - 3000 nodes. What rubs me is that I was not informed of application pool memory issues on our prior, "bottom-basement" account, (which they hosted since April) but the service upgrade to accommodate trust level, and now this. It's not adding up.

    How can I get used application pool memory from an ASP.NET server? Note that this is a shared server.

    Thanks for helping me through this!

  • Kyle Skrinak 272 posts 327 karma points
    Oct 29, 2009 @ 15:09
    Kyle Skrinak
    0

    skiltz, you da geek! I followed the impeccable D. Robar's advice, and wow, the change was dramatic! Here was my process:

    • I loaded the site on a local machine so I could watch the w3wp.exe process. I copied the files and db to my local setup and started the site. Then I pointed klinkstatus to the home page and let her have at it.
    • My w3wp.exe would start at roughly 60k and would scale to 120k then soon after sharply inflected to 350K and rising! Holy smokes, that's just plain sloppy — and that buck stops here.
    • So I went to my developer > macros setting, and significantly pushed back the cache settings, since this isn't a live-dynamic site. I used "3600" seconds for cache and yes/no as appropriate per item.
    • I restarted my w3wp.exe process and re-ran klinkstatus. This time, the max memory w3wp.exe consumed as never greater than 120k, and I watched over time as the process "settled" into a range of 100 - 115k; that is MUCH better. Additional, klinkstatus ran through the links in about a quarter of the time. An overall gain.

    So, much thanks to all! What an awesome community.

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies