+1-888-365-2779
Try Now
More in this section

Forums / Bugs & Issues / App Pool memory drastically different from 32-64 bit

App Pool memory drastically different from 32-64 bit

19 posts, 0 answered
  1. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    28 Dec 2012
    Link to this post

    I've always run my site on 32-bit (w3wp*32), and it hovered around 400-500 megs tops.  I just swapped it to 64, and now I'm around 750Megs without entering the backend yet.

    Has anyone else seen this?

  2. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    02 Jan 2013 in reply to Steve
    Link to this post
    So after a couple days of 700-900 megs, I changed back to 32 bit...and I'm now at 300-500 again.

    ??
  3. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    02 Jan 2013
    Link to this post
    There's something to this

    I changed my OTHER sites app pool (running at a steady 900M) to Enable32Bit and editing the backend I'm at 245Megs, a FAR FAR cry from 900M.
  4. Georgi
    Georgi avatar
    3583 posts
    Registered:
    28 Oct 2016
    02 Jan 2013
    Link to this post
    Hello,

    This is somewhat expected. In 32-bit more, the memory usage is limited by .NET. Switching to 64-bit makes the process not so conservative to memory use, since there are much more memory addresses to use :).

    All the best,
    Georgi
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  5. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    02 Jan 2013 in reply to Georgi
    Link to this post

    Yes thank you Dr. Obvious :)

     Running in 32 yields no noticeable performance difference on any of the running sites (8 core VM)....certainly not 3 times better performance (64 eats 3 times the ram)

     So running with a 32 bit process lets me run 4-5 sites on my VM as opposed to 2 (and having to limit sql)

    http://www.iis.net/learn/web-hosting/web-server-for-shared-hosting/32-bit-mode-worker-processes

  6. HRC
    HRC avatar
    44 posts
    Registered:
    16 Mar 2009
    04 Jan 2013
    Link to this post
    I am having similar results.  700+MB down to about 300MB for all 4 instances of Sitefinity 5.0.  Will continue to monitor over time to ensure nothing's broken by running in 32bit mode.
  7. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    04 Jan 2013 in reply to HRC
    Link to this post
    Nothing will be broken, if anything it'll just be faster

    What I was seeing (before when it was 700+) I'd watch a new site warm up and I'd have to wait for the ram to slowly climb to hit 500-600 before the site came to life.  Now it'll pop up arond 150-200 tops.

    Moved all my sites to 32 (live and dev) and haven't had any issues...
  8. HRC
    HRC avatar
    44 posts
    Registered:
    16 Mar 2009
    04 Jan 2013
    Link to this post
    So I have to wonder though - what's the catch?  I have a hard time believing it's this simple when all along we've been battling memory gobbling issues and nobody ever suggested configuring the app pools like this.  Or have they?  Have I overlooked some guidance from Telerik that this is even an option?  Curious...  

    Anyways - we'll continue to monitor for issues.  Our configuration is load-balanced and multilingual, so we tend to run into the edge-case issues more often than not.
  9. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    04 Jan 2013 in reply to HRC
    Link to this post
    I can't find anything that tells me we should be using 64 over 32...actually the exact opposite

    http://serverfault.com/questions/181716/multiple-32bit-processes-on-64bit-iis-memory-limit

    ...so I don't know why it's not documented anywhere, maybe nobody noticed?...because in 32 mode it's quite memory efficient.
  10. HRC
    HRC avatar
    44 posts
    Registered:
    16 Mar 2009
    04 Jan 2013 in reply to Steve
    Link to this post
    On a 64bit version of Windows, by default, IIS wants to create 64bit app pools.  So if running under 32bit app pools is the way to go - I wouldn't mind seeing that documented somewhere.  For example, here: http://www.sitefinity.com/resources/system-requirements 
  11. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    04 Jan 2013 in reply to HRC
    Link to this post
    Default can be changed too (for anyone else reading this)
    http://www.iis.net/learn/web-hosting/web-server-for-shared-hosting/32-bit-mode-worker-processes
  12. Georgi
    Georgi avatar
    3583 posts
    Registered:
    28 Oct 2016
    07 Jan 2013
    Link to this post
    Hello,

    There's no catch. The option is there in case the application is specifically compiled to run under 64-bit environment only. You guys are right - since Sitefinity can run under 32-bit mode, we should document that this mode takes less memory. I doubt that anyone using Sitefinity is specifically compiling his code to 64-bit, but we'll put a remark on this anyway. Since there are questions below, one of the biggest reasons to use 64bit is in case you need more than 4GB during runtime.

    Since it seems I wasn't  very specific in my last post :) - the framework allocates not only managed but also unmanaged memory. While the managed variables take the same memory in 32 and 64 bit environments, the unmanaged depend on the environment, so in 64-bit they are twice bigger. I've checked some past results on memory profiling of Sitefinity - around 35-40% of the consumed memory is unmanaged one, so we can expect at least 35-40% more memory used in 64bit. Some further research I did this morning (Monday, yeaah) - seems the GC in 64bit mode is running much less often (leaving more memory!) but this results in faster performance (GC is expensive). In conclusion, if you care about performance only - go for 64bit. If you want some balance between resources and performance - go for 32bit. Obvious again, right Steve? :)

    We'll send the thread for documentation.

    Regards,
    Georgi
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  13. Jochem Bökkers
    Jochem Bökkers avatar
    787 posts
    Registered:
    13 Aug 2007
    07 Jan 2013 in reply to Georgi
    Link to this post
    Hey Georgi,

    Since its now roughly 3pm and you've probably had a healthy dose of caffeine by now, any insight into the performance increase? I mean, is it visible or just measurable?

    If its just measurable then it'll only affect the geeks being excited, but if its a significant visual performance increase, than Steve's discovery will (or should at least) affect hosting choices...

    Jochem
  14. Georgi
    Georgi avatar
    3583 posts
    Registered:
    28 Oct 2016
    10 Jan 2013
    Link to this post
    Hi,

    The performance different is not big. You could notice it on dynamic sites with a lot of concurrent users though. In that sense, it can be measured but won't be visible to the "naked eye" :). 

    Regards,
    Georgi
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  15. Micke Palm
    Micke Palm avatar
    17 posts
    Registered:
    27 Aug 2012
    14 Nov 2013
    Link to this post
    Need to lift this thread up again.

    Do we have an conclusion of this that 32-bit is a better option if I have a lot of SF on same server and 64-bit is a better choice if I need huge performance with thousand of users simultaneously?


  16. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    14 Nov 2013 in reply to Micke Palm
    Link to this post
    Unless your sitefinity instance is in need of > 4 gigs of ram, 32 just runs better...in every case I've tested.
  17. Micke Palm
    Micke Palm avatar
    17 posts
    Registered:
    27 Aug 2012
    15 Nov 2013 in reply to Steve
    Link to this post
    Just as I thought. SF climbs up approximately 900MB in 64 bit on our sites and the traffic they have, it is not at all necessary.

    What does the SF team about to run 32 in all cases? Any issues with it if we run in 32 bit?
  18. Micke Palm
    Micke Palm avatar
    17 posts
    Registered:
    27 Aug 2012
    19 Aug 2014 in reply to Micke Palm
    Link to this post

    A new issue have poping up here. We have a site which in 32-bit will eat over 1GB memory. App-pool have an limit in 1GB so we need to switch it to 64bit. Now the site eating 4GB. It's hell to much memory. Can we tweak the 32-bit part so the pool can handle over 1GB?

     

  19. Stefani Tacheva
    Stefani Tacheva avatar
    718 posts
    Registered:
    06 Dec 2016
    22 Aug 2014
    Link to this post
    Hello,

    I would suggest you to review the following blog post:

    http://blogs.msdn.com/b/tom/archive/2008/04/10/chat-question-memory-limits-for-32-bit-and-64-bit-processes.aspx


    Basically if 32-bit IIS process is used on 32-bit operating system and you could have maximum 2GB amount of memory available. If you are using 64-bit operating system you could have maximum 4GB amount of memory available.
        
    Regarding the memory limits of the application pool, it can have a private memory limit and a virtual memory limit.

    Primary memory limit: Maximum amount of private memory (in KB) a worker process can consume before causing the application pool to recycle.

    Virtual memory Limit: Maximum amount of virtual memory (in KB) a worker process can consume before causing the application pool to recycle.

    Both the above settings are set to 0 by default, which means there is no limit set.

    If you are using 32-bit IIS process, by navigating to the Advanced settings of the application pool you could increase the limit of the Virtual Memory (for example: 2GB). If you are using 64-bit IIS process you could decrease the limit to be smaller than 4GB for instance.
        
    You could also discuss these questions with your administrators who would provide further information.
       
    Regards,
    Stefani Tacheva
    Telerik
     
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Sitefinity CMS Ideas&Feedback Portal and vote to affect the priority of the items
     
19 posts, 0 answered