What are the main benefits of Windows 64-bit over 32-bit for ASP.Net apps?

6,331

Solution 1

I think the question you should be really asking is why not go x64? If your hardware is supported and your apps work, what's the reason to stick with 32 bit? There is little to no cost difference and its the way all future software is going to move, Exchange 2007 for example is 64bit only and I'm sure many new pieces of software will go that way.

If you can't come up with a compelling reason to stick with 32 bit then I'd go with 64.

Solution 2

  • x86_64 cpus do have the no-execute bit in their page tables. I.e. this can prevent security exploits caused by buffer overruns. 32-bit x86 cpus do only support this feature in the PAE mode.
  • you can only used signed Windows drivers. IMHO this is an advantage because you can't break your system with a broken, untested driver. Remember, most Windows problems are caused by broken drivers.

To be honest: In my opinion 64-bit should be the default for years now! I can't believe how long it takes the Windows community to make the switch. I can't understand why Microsoft even bothered to release a 32-bit Vista (and now even Windows 7). Even Apple decided to switch from PowerPC to 32-bit x86 although most cpus at the time were already capable of 64-bit. This makes no sense to me at all. Everything would be so much easier if everything would be 64-bit and only 64-bit.

Solution 3

This is not ASP.NET-related, but I'll add for the sake of completeness. Some Microsoft Server products, like Exchange Server 2007, run only on 64-bit Windows platforms. I think you could call that a benefit.

Solution 4

There are lots of "reasons" but the first and foremost is that all of Microsoft's products are going x64. It 'future-proofs' the design a bit, and gives your ASP.NET apps more room to fail (from an OOM error, for example).

Solution 5

I don't think there is a dramatic cost difference between either one, so why not just deploy the new server with Windows Server 2008 64-bit? The ability to utilize its greater memory capacity is the best (and only that I know of) reason to use it. With memory so cheap nowadays, 4 GB just seems so little for a new server!

Share:
6,331

Related videos on Youtube

Duncan
Author by

Duncan

.NET Developer (c#) - WinForms and ASP.NET

Updated on September 17, 2022

Comments

  • Duncan
    Duncan almost 2 years

    Besides the advantages of 64-bit memory allocation (> 4 GB - see this question on StackOverflow for why 32-bit +4 GB solutions won't work for me), what other reasons do I have for recommending that we should host an ASP.NET website on 64-bit Windows Server 2008, as opposed to the 32-bit version?

    If it's only the larger addressable memory (>4 GB) issue, we have a load-balanced solution anyway so we could scale by adding a new (virtual) box.

    The CPUs won't be running hot either, so any marginal speed gains couldn't be justified.

    My own gut feeling is that we should host on 64-bit if we can, purely because it's easier to scale (by plugging in more RAM when we need to). But is that it?!

    All comments and ideas are welcome!

    • plaisthos
      plaisthos almost 15 years
      Shared or dedicated? Significant differences in your web site configuration on a shared server...
    • ThatGraemeGuy
      ThatGraemeGuy about 14 years
    • TomTom
      TomTom about 13 years
      Actually MS recommends running ASP.NET apps in 32 bit mode ON A 64 BIT OPERATING SYSTEM. 4g of 32 bit are a bad limit as it counts towards the system. On a 64 bit system you can have more than 4 gb and the apsp.net uses part of it. Caching etc. can be done outside.
    • Robert Werner
      Robert Werner over 7 years
      @TomTom is this recommendation still true today? If so, do you have a reference for it?
  • Matt
    Matt about 15 years
    +1 this answer points out some of the "unknown" features of 64bit Windows over 32bit.
  • Dentrasi
    Dentrasi about 14 years
    Signed drivers can be a pain in the ass when you need to get some hardware working, and Windows decides not to install the driver because it's no signed, even if it works fine.
  • TomTom
    TomTom about 13 years
    Which is pretty much a non issue on a server, especially a virtual one ;) IOt is more common on desktops, but serve level hardwae ALL has signed drivers.