Warum sind 32-Bit-Anwendungspools in IIS effizienter? [geschlossen]

12

Ich habe Auslastungstests mit zwei verschiedenen ASP.NET-Webanwendungen in IIS ausgeführt. Die Tests werden mit 5,10,25 und 250 Benutzeragenten ausgeführt. Getestet auf einer Box mit 8 GB RAM, Windows 7 Ultimate x64. Dieselbe Box, auf der sowohl IIS als auch das Auslastungstestprojekt ausgeführt werden.

Ich habe viele Läufe durchgeführt und die Daten sind sehr konsistent. Bei jeder Auslastung werden eine niedrigere "Durchschnittliche Seitenzeit (Sek.)" Und eine niedrigere "Durchschnittliche Antwortzeit (Sek.)" Angezeigt, wenn "32-Bit-Anwendungen aktivieren" in den Anwendungspools auf "Wahr" gesetzt ist. Der Unterschied wird umso größer, je höher die Last ist. Bei sehr hoher Auslastung beginnen die Webanwendungen mit Fehlern (503), wenn es sich um 64-Bit-Anwendungspools handelt. Bei einer Einstellung auf 32-Bit können sie jedoch mithalten.

Warum sind 32-Bit-App-Pools so viel effizienter? Warum ist die Standardeinstellung für Anwendungspools nicht 32-Bit?

mhenry1384
quelle

Antworten:

16

64-Bit-Speicherzeiger und andere verwandte Datenstrukturen sind doppelt so groß wie ihre 32-Bit-Gegenstücke. Darüber hinaus wird ein 64-Bit-Arbeitsthread jedes Mal bestraft, wenn er beim Wechseln des Modus auf 32-Bit-Code oder DLLs zugreifen muss. (Forschung WoW64 und Thunking.)

Der größte (aber nicht der einzige) Vorteil der Verwendung von 64 Bit ist die Fähigkeit, viel mehr Speicher zu adressieren . Wenn Ihr App-Pool nicht mehr als 2 oder 3 Gigabyte Arbeitsspeicher belegt und Sie keinen 64-Bit-Code ausführen müssen, gibt es wahrscheinlich keinen zwingenden Grund für Sie, auf 64-Bit umzusteigen. Mit fortschreitender Technologie nehmen Chiphersteller zusätzliche CPU-Register vor, um die Leistung von 64-Bit-Prozessoren zu verbessern. Generell gibt es jedoch keine magische Leistungssteigerung, wenn nur mehr Bits verwendet werden. In der Tat, wie Sie gerade gesehen haben, kann es schlimmer sein.

64-Bit = Abrams Tank

32-Bit = Toyota Prius

Man kann viel mehr Arbeit erledigen, aber der andere kann durch die Durchfahrtsstraße des McDonalds passen.

Ryan Ries
quelle
4
Ich hasse es zu picken, aber beide können durch die McDonald's Drive-Thru passen. Es ist nur so, dass man es tut, ohne die Mauer einzureißen.
HopelessN00b
3
Ich hasse es, zu picken, aber ich denke, das würde stark von der Definition der Passform abhängen! Wenn wir mit "die richtige Größe und Form haben" gehen, wie in McDonald's Drive-Thru-Spezifikation definiert, würde ich nicht sagen :).
GraemeMiller