WindowsのAzureのウェブサイトでは、二つのオプションの32ビットまたは64-ビットを提供しています。新しいサイトにはデフォルトで32ビットが付属しています。サーバー構成の場合、ほとんどのWebサーバーが何年もの間64ビット構成になっていたため、少し奇妙に感じます。ASP.NETサイトの通常のユースケースを考慮して、64ビットよりも32ビットを優先する理由はありますか?
WindowsのAzureのウェブサイトでは、二つのオプションの32ビットまたは64-ビットを提供しています。新しいサイトにはデフォルトで32ビットが付属しています。サーバー構成の場合、ほとんどのWebサーバーが何年もの間64ビット構成になっていたため、少し奇妙に感じます。ASP.NETサイトの通常のユースケースを考慮して、64ビットよりも32ビットを優先する理由はありますか?
回答:
ワークロードに依存します。
x64上のIIS + .NETは、非常に大きなワークロードをサポートします。負荷テストを行うと、十分なCPUとRAMを備えたx64サーバーが健全な尺度でx86よりも優れていることがわかります。
ワークロードが小さい場合、および/または多数のサーバーの負荷を分散する場合は、x86が適切であることがわかります。(ワークロードに可能な限り最小のインスタンスを使用することを強く信じています。ITの多くが問題に金属を投げつけており、無駄です。x86は美しいです。残念ながら、x86インスタンスを取得するのは難しくなっています。)
この場合、複数のx64サーバーの負荷を分散します。ただし、展開操作中、すべてまたはほとんどの負荷を単一のサーバーに向けることができます。私たちの場合、そのサーバーがx86であれば、ストレスがかかり、非常に遅くなります。x64なので、負荷を処理でき、ユーザーは気付きません。
答えは-複雑です。アプリケーションが多くのGBのRAMへのアクセスを必要とする場合(ほとんどのアプリはそうではありません)にのみ単純で、64ビットが必要です。
それ以外の場合、特定のアプリを32ビットと64ビットでテストするだけで確実に判断でき、それはあなたにとって最も重要なこと、メモリフットプリント、またはCPUパフォーマンスに依存します。あなたは、あなたのアプリがどんなパフォーマンスあなたはゲインに(huuuuugeの方法で)いずれかのディスクにページと言ってバイバイしますメモリが不足した場合、覚えていることがあり、64ビットへの切り替えから得ている、またはあなたの自動スケーリングがでキックし、必要になります追加されたサーバーインスタンスに対してAzureにより多くのお金が請求されるか、アプリのゲームオーバーであるOutOfMemoryエラーが発生し始めます。
参照:https : //www.hanselman.com/blog/PennyPinchingInTheCloudYourWebAppDoesntNeed64bit.aspx
64ビットのアドレス空間が必要な場合を除き、32ビットを使用します。これは通常のWebサイトではまれです。
その理由は、Webサイトは通常、アドレススペースを必要とせず、32個のbiプログラムがより高速に実行されるためです。
今、あなたは言う:
Webサーバーの大部分は何年もの間64ビット構成でした
はい、でも:
IISアプリケーションプールの既定のセットアップは、互換性とパフォーマンス上の理由から、32ビットモードで開始することです。IIS構成に関するMicrosoftからのアドバイスは、64ビットサーバーで32ビットアプリケーションプールを使用することです。
小切手:
http://www.iis.net/learn/web-hosting/web-server-for-shared-hosting/32-bit-mode-worker-processes
公式声明のために。
マイクロソフトが現在提供している32ビット製品は存在しないため、64ビットサーバーで確実に実行できます。しかし、より多くのRAMが必要でない限り、パフォーマンスに影響はありません。