web-dev-qa-db-ja.com

ASP.Netアプリの32ビットよりも64ビットのWindowsの主な利点は何ですか?

64ビットメモリ割り当ての利点(> 4 GB ---- StackOverflowのこの質問を参照 32ビット+4 GBソリューションが機能しない理由)の他に、他にどのような理由がありますか32ビットバージョンではなく、64ビットWindows Server2008でASP.NETWebサイトをホストすることをお勧めしますか?

アドレス可能なメモリが大きい(> 4 GB)問題だけの場合は、とにかく負荷分散ソリューションがあるので、新しい(仮想)ボックスを追加して拡張できます。

CPUも高温で動作しないため、わずかな速度の向上は正当化できませんでした。

私自身の直感では、可能であれば64ビットでホストする必要があります。これは、スケーリングが簡単だからです(必要に応じて、より多くのRAM)を接続することによって)。でもそれでいいの?!

コメントやアイデアは大歓迎です!

8
Duncan

あなたが本当に尋ねるべき質問は、なぜnot go x64?ハードウェアがサポートされていてアプリが機能している場合、32ビットを使用する理由は何ですか?コストの違いはほとんどまたはまったくなく、将来のすべてのソフトウェアの移行方法です。たとえば、Exchange 2007は64ビットのみであり、多くの新しいソフトウェアがそのように移行すると確信しています。

32ビットに固執する説得力のある理由を思い付くことができない場合は、64ビットを使用します。

15
Sam Cogan
  • x86_64 cpusのページテーブルには実行ビットなしがあります。つまりこれにより、バッファオーバーランによって引き起こされるセキュリティの悪用を防ぐことができます。 32ビットx86CPUは、PAEモードでのみこの機能をサポートします。
  • 使用できるのは署名付きWindowsドライバーのみです。壊れた、テストされていないドライバーでシステムを壊すことはできないので、これは利点です。ほとんどのWindowsの問題は、壊れたドライバーが原因であることに注意してください。

正直に言うと、私の意見では、64ビットがのデフォルトになるはずです! Windowsコミュニティが切り替えを行うのにどれくらいの時間がかかるか信じられません。 Microsoftが32ビットVista(そして今ではWindows 7)をリリースすることさえわざわざした理由が理解できません。 AppleはPowerPCから32ビットx86に切り替えることを決定しましたが、当時のほとんどのCPUはすでに64ビットに対応していました。これは私にはまったく意味がありません。すべてがはるかに簡単になります。すべてが64ビットで64ビットのみの場合。

12
knweiss

「理由」はたくさんありますが、何よりもまず、Microsoftのすべての製品がx64になるということです。これは、設計を少し「将来にわたって保証」し、ASP.NETアプリに失敗する余地を与えます(たとえば、OOMエラーから)。

4
Jeff Costa

これはASP.NET関連ではありませんが、完全を期すために追加します。 Exchange Server 2007などの一部のMicrosoft Server製品は、64ビットWindowsプラットフォームでのみ実行されます。それはメリットと言えると思います。

4
splattne

どちらにも劇的なコストの違いはないと思います。では、新しいサーバーをWindows Server 200864ビットで展開してみませんか。そのより大きなメモリ容量を利用する能力は、それを使用する最良の(そして私が知っている唯一の)理由です。最近のメモリは非常に安いので、4 GBは新しいサーバーにはほとんどないようです!

2
Russ Warren

この最近の質問に対する約10の素晴らしい答えがあります 64ビットコンピューティングのRunAs Radioポッドキャスト

言及されていることの1つは、バス幅が2倍になるため、データの読み取り/書き込みが高速になることです。パフォーマンスの向上は、おそらく家庭用の32ビットに対してわずかですが、サーバーにとっては確かにそれだけの価値があります。

1
p.campbell

ほとんどの32ビットマシンに影響を与えるY2Kに似た、あいまいな(しかし実際の)バグがあります。これは、一部のWindowsプログラムでも使用されているunix Epochによるもので、最大値は2038年のいつかです。その時点でラップアラウンドします。 1901年まで!

ウィキペディアを参照 " 2038年問題 "

UNIXエポックを格納するために標準のマシンサイズの変数を使用する32ビットマシンに影響するため、この質問に関連します。 64ビットへのアップグレードで解決します。

0
unixman83