Was sind die Hauptvorteile von Windows 64-Bit gegenüber 32-Bit für ASP.Net-Apps?

8

Neben den Vorteilen der 64-Bit-Speicherzuweisung (> 4 GB - siehe diese Frage auf StackOverflow, warum 32-Bit-Lösungen mit +4 GB für mich nicht funktionieren), welche anderen Gründe habe ich für die Empfehlung, einen ASP zu hosten .NET-Website unter 64-Bit-Windows Server 2008 im Gegensatz zur 32-Bit-Version?

Wenn es sich nur um das Problem des größeren adressierbaren Speichers (> 4 GB) handelt, haben wir ohnehin eine Lösung mit Lastenausgleich, sodass wir durch Hinzufügen einer neuen (virtuellen) Box skalieren können.

Die CPUs werden auch nicht heiß laufen, so dass geringfügige Geschwindigkeitsgewinne nicht gerechtfertigt werden konnten.

Mein eigenes Bauchgefühl ist, dass wir auf 64-Bit hosten sollten, wenn wir können, nur weil es einfacher zu skalieren ist (indem wir bei Bedarf mehr RAM anschließen). Aber ist es das?!

Alle Kommentare und Ideen sind willkommen!

Duncan
quelle
Geteilt oder engagiert? Wesentliche Unterschiede in Ihrer Website-Konfiguration auf einem gemeinsam genutzten Server ...
Christopher_G_Lewis
Tatsächlich empfiehlt MS, ASP.NET-Apps im 32-Bit-Modus auf einem 64-Bit-Betriebssystem auszuführen. 4 g 32 Bit sind eine schlechte Grenze, da sie für das System zählen. Auf einem 64-Bit-System können Sie mehr als 4 GB haben und das apsp.net verwendet einen Teil davon. Caching etc. kann draußen erfolgen.
TomTom
@ TomTom ist diese Empfehlung heute noch wahr? Wenn ja, haben Sie eine Referenz dafür?
Ohad Schneider

Antworten:

15

Ich denke, die Frage, die Sie wirklich stellen sollten, ist, warum nicht x64 gehen? Wenn Ihre Hardware unterstützt wird und Ihre Apps funktionieren, was ist der Grund, bei 32 Bit zu bleiben? Es gibt kaum oder gar keinen Kostenunterschied und es ist die Art und Weise, wie sich die gesamte zukünftige Software bewegen wird. Exchange 2007 zum Beispiel ist nur 64-Bit und ich bin sicher, dass viele neue Software-Teile diesen Weg gehen werden.

Wenn Sie keinen zwingenden Grund finden, sich an 32 Bit zu halten, würde ich mich für 64 entscheiden.

Sam Cogan
quelle
12
  • x86_64-CPUs haben das No-Execute-Bit in ihren Seitentabellen. Dies kann Sicherheits-Exploits verhindern, die durch Pufferüberläufe verursacht werden. 32-Bit-x86-CPUs unterstützen diese Funktion nur im PAE-Modus.
  • Sie können nur signierte Windows-Treiber verwenden . IMHO ist dies ein Vorteil, weil Sie Ihr System nicht mit einem kaputten, nicht getesteten Treiber beschädigen können. Denken Sie daran, dass die meisten Windows-Probleme durch defekte Treiber verursacht werden.

Um ehrlich zu sein: Meiner Meinung nach sollte 64-Bit seit Jahren die Standardeinstellung sein ! Ich kann nicht glauben, wie lange die Windows-Community benötigt, um den Wechsel vorzunehmen. Ich kann nicht verstehen, warum Microsoft sich überhaupt die Mühe gemacht hat, ein 32-Bit-Vista (und jetzt sogar Windows 7) herauszubringen. Sogar Apple entschied sich für einen Wechsel von PowerPC zu 32-Bit x86, obwohl die meisten CPUs zu dieser Zeit bereits 64-Bit-fähig waren. Das macht für mich überhaupt keinen Sinn. Alles wäre so viel einfacher, wenn alles 64-Bit und nur 64-Bit wäre.

Knweiss
quelle
+1 Diese Antwort weist auf einige der "unbekannten" Funktionen von 64-Bit-Windows über 32-Bit hin.
Matt
Signierte Treiber können nerven, wenn Hardware zum Laufen gebracht werden muss, und Windows beschließt, den Treiber nicht zu installieren, da er nicht signiert ist, auch wenn er einwandfrei funktioniert.
Dentrasi
1
Was auf einem Server, insbesondere auf einem virtuellen Server, so gut wie kein Problem ist;) IOt ist auf Desktops häufiger anzutreffen, aber auf Serve-Level-Hardware haben ALLE Treiber signiert.
TomTom
4

Es gibt viele "Gründe", aber in erster Linie geht es darum, dass alle Microsoft-Produkte auf x64 umgestellt werden. Es ist ein wenig zukunftssicher für das Design und gibt Ihren ASP.NET-Apps mehr Spielraum für Fehler (z. B. aufgrund eines OOM-Fehlers).

Jeff Costa
quelle
4

Dies ist nicht ASP.NET-bezogen, aber ich werde der Vollständigkeit halber hinzufügen. Einige Microsoft Server-Produkte wie Exchange Server 2007 können nur auf 64-Bit-Windows-Plattformen ausgeführt werden. Ich denke, man könnte das einen Vorteil nennen.

splattne
quelle
2

Ich glaube nicht, dass es einen dramatischen Kostenunterschied zwischen beiden gibt. Warum also nicht einfach den neuen Server mit Windows Server 2008 64-Bit bereitstellen? Die Fähigkeit, seine größere Speicherkapazität zu nutzen, ist der beste (und nur der mir bekannte) Grund, ihn zu nutzen. Da Speicher heutzutage so billig ist, scheinen 4 GB für einen neuen Server so wenig zu sein!

Russ Warren
quelle
1

In diesem aktuellen RunAs Radio-Podcast zum Thema 64-Bit-Computing gibt es ungefähr 10 gute Antworten auf diese Frage .

Eine Sache, die erwähnt wird, ist, dass die Busbreite verdoppelt wird und daher Daten schneller lesen / schreiben kann. Die Leistungssteigerung ist leicht gegenüber 32 Bit für den Heimgebrauch, aber für einen Server lohnt es sich auf jeden Fall.

p.campbell
quelle
0

Es gibt einen obskuren (aber echten) Fehler ähnlich wie bei Y2K, der die meisten 32-Bit-Computer betrifft. Es ist auf die Unix-Epoche zurückzuführen , die auch in einigen Windows-Programmen verwendet wird und einen Maximalwert von irgendwann im Jahr 2038 hat. Ab diesem Zeitpunkt wird es sich um 1901 handeln!

Siehe Wikipedia " Das Problem des Jahres 2038 "

Relevant für diese Frage, da sie 32-Bit-Computer betrifft, die eine Standardvariable mit Maschinengröße zum Speichern der Unix-Epoche verwenden. Es wird durch das Upgrade auf 64-Bit gelöst.

unixman83
quelle