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


14

Windows Azure的网站提供了两种选择32位或64位。新站点默认带有32位。对于服务器配置,感觉有点奇怪,因为AFAIK多年来,绝大多数Web服务器都采用64位配置。考虑到ASP.NET网站的通常使用情况,是否有任何理由赞成32位而不是64位?

Answers:


5

取决于您的工作量。

x64平台上的IIS + .NET可以支持非常大的工作负载。如果进行负载测试,则通过正常的测试,将看到具有足够CPU和RAM的x64服务器的性能优于x86。

如果您的工作量很小,并且/或者您打算对许多服务器进行负载平衡,那么您可能会发现x86很好。(我坚信使用最小的实例来处理工作负载-太多的IT都在解决这个问题,这很浪费。x86很漂亮。不幸的是,越来越难获得x86实例。)

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


我最近了解到,垃圾收集器会在此过程中锁定所有线程,有时会导致更高的延迟。启用64位后,垃圾收集器的运行频率将降低,从而提高了应用程序的性能。
汤姆(Tom)

3

答案是-很复杂。仅在您的应用程序需要访问许多GB RAM(大多数应用程序不需要)的情况下这很简单,然后您必须具有64位。

否则,只有在32位和64位下测试特定的应用程序才能肯定地告诉您,然后这取决于对您最重要的因素,内存占用量或CPU性能。请记住,如果内存用完了,那么您的应用程序将要么分页到磁盘,然后再以某种折衷的方式对从切换到64位可能获得的任何性能提高说再见,否则您的自动扩展将会开始,由Azure向添加的服务器实例收取更多费用,否则您将开始遇到OutOfMemory错误,这对于您的应用程序来说已经过去了。

另请参阅:https : //www.hanselman.com/blog/PennyPinchingInTheCloudYourWebAppDoesntNeed64bit.aspx


1

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

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

现在,您说:

多年来,绝大多数Web服务器都采用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位服务器上运行,因为Microsoft当前没有提供32位产品。但是除非您需要更大数量的RAM,否则对性能的影响是不值得的。


“ IIS应用程序池的默认设置是在32位模式下启动”一段时间以来,这种说法并不正确。IIS在x64 Server OS上始终为x64,并且需要进行黑客攻击才能使用32位。
琼斯恢复莫妮卡的话

2
“ 32位程序运行得更快。” 在全球范围内并非如此。
xaxxon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.