Windows Azure 网站是 32 位还是 64 位?

Windows Azure 网站是 32 位还是 64 位?

Windows Azure 网站提供 32 位或 64 位两种选择。新网站默认使用 32 位。对于服务器配置来说,这感觉有点奇怪,因为据我所知,绝大多数 Web 服务器多年来一直采用 64 位配置。考虑到 ASP.NET 网站的常见用例,有什么理由支持 32 位而不是 64 位?

答案1

取决于你的工作量。

x64 上的 IIS + .NET 非常出色,可以支持非常大的工作负载。如果您进行负载测试,您会发现具有足够 CPU 和 RAM 的 x64 服务器的性能远胜于 x86。

如果您的工作量很小,并且/或者您要对多台服务器进行负载平衡,您可能会发现 x86 就足够了。(我坚信使用尽可能小的实例来处理工作量——很多 IT 部门都在使用金属来解决问题,这是浪费。x86 很棒。不幸的是,获得 x86 实例越来越难。)

在我们的案例中,我们对多台 x64 服务器进行负载平衡。但是,在部署操作期间,所有或大部分负载可以定向到单个服务器。在我们的案例中,如果该服务器是 x86,它将承受压力并且非常慢。由于它是 x64,它可以处理负载,而用户不会注意到。

答案2

答案是 - 这很复杂。如果您的应用程序需要访问许多 GB 的 RAM(大多数应用程序不需要),那么您必须使用 64 位。

否则,仅在 32 位和 64 位下测试您的特定应用才能确定,然后取决于对您来说最重要的是内存占用还是 CPU 性能。请记住,如果内存不足,那么您的应用将分页到磁盘,并(以巨大的方式)告别任何性能提升可能已经从切换到 64 位,否则您的自动缩放将启动,并且 Azure 将为添加的服务器实例向您收取更多费用,或者您将开始收到 OutOfMemory 错误,这对您的应用程序来说意味着结束。

也可以看看:https://www.hanselman.com/blog/PennyPinchingInTheCloudYourWebAppDoesntNeed64bit.aspx

答案3

使用 32 位,除非您需要 64 位地址空间 - 这对于普通网站来说很少见。

原因很简单,网站通常不需要地址空间,而且 32bi 程序运行速度更快。

现在你说:

多年来,绝大多数网络服务器都采用 64 位配置

对,但是:

出于兼容性和性能原因,IIS 应用程序池的默认设置是以 32 位模式启动的。Microsoft 对 IIS 配置的建议是在 64 位服务器上使用 32 位应用程序池。

查看:

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

以了解官方声明。

您可以确定它将在 64 位服务器上运行,因为微软目前没有提供 32 位产品。但除非您需要更高数量的 RAM,否则性能影响是不值得的。

相关内容