11

The Windows Azure Web Sites offers two options 32bits or 64bits. New sites come with 32bits by default. For a server configuration it feels a bit odd because, AFAIK, the vast majority of web servers have been in 64bits config for years now. Considering the usual use cases for ASP.NET sites, are there any reasons to favor 32bits over 64bits?

4

Depends on your workload.

IIS + .NET on x64 rocks and can support very large workloads. If you do load testing, you will see that x64 servers with sufficient CPU and RAM outperform x86 by a healthy measure.

If your workload is small, and/or you are going to load balance a number of servers, you may well find that x86 is fine. (I am a big believer in using smallest possible instances for the workload -- so much of IT is throwing metal at the problem, and it is wasteful. x86 is beautiful. Unfortunately, it is getting harder to get x86 instances.)

In our case, we load balance multiple x64 servers. However, during deploy operations, all or most of the load can be directed to a single server. In our case, if that server was x86, it would be stressed and very slow. As it is x64, it can handle the load and users don't notice.

  • I recently learned that the garbage collector locks all threads during the process, causing higher latency at times. Once you enable 64-bit, the garbage collector will act less frequently, thus improving the performance of your app. – Tom Mar 9 '18 at 10:26
2

Go 32 bit unless you need 64 bit address space - which is rare for a normal website.

The reason is simply that websites do normally not need the address space and 32 bi programs run faster.

Now, you say:

the vast majority of web servers have been in 64bits config for years now

Yes, BUT:

The default setup for an IIS application pool is to start in 32 bit mode - for compatibility and performance reasons. The advice from Microsoft for IIS configuration is to use 32 bit application pools on a 64 bit server.

ChecK:

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

for the official statement.

You can be sure it will run on a 64 bit server, as there is no current 32 bit production offering from microsoft. But unless you need the higher amounts of RAM, the performacne impact is not worth it.

  • "The default setup for an IIS application pool is to start in 32 bit mode" That has not been true for some time. IIS is always x64 on x64 Server OS, and requires hacking to make 32 bit. – samsmith Dec 21 '16 at 20:17
  • "32 bit programs run faster." that is not globally true. – xaxxon Jul 15 '17 at 3:05

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.