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