Dlaczego 32-bitowe pule aplikacji są bardziej wydajne w IIS? [Zamknięte]

12

Przeprowadzam testy obciążenia z dwiema różnymi aplikacjami sieciowymi ASP.NET w IIS. Testy są uruchamiane z 5,10,25 i 250 klientami użytkownika. Testowany na pudełku z 8 GB pamięci RAM, Windows 7 Ultimate x64. To samo urządzenie z uruchomionym programem IIS i projektem testu obciążenia.

Zrobiłem wiele biegów, a dane są bardzo spójne. Przy każdym ładowaniu widzę niższy „Śr. Czas strony (s)” i niższy „Śr. Czas odpowiedzi (s)”, jeśli „Pule aplikacji 32-bitowych” są ustawione na Prawda w pulach aplikacji. Różnica staje się bardziej wyraźna, im wyższe obciążenie. Przy bardzo dużych obciążeniach aplikacje internetowe zaczynają generować błędy (503), jeśli pule aplikacji są 64-bitowe, ale mogą nadążyć, jeśli są ustawione na 32-bitowe.

Dlaczego 32-bitowe pule aplikacji są o wiele bardziej wydajne? Dlaczego domyślne ustawienia pul aplikacji nie są 32-bitowe?

mhenry1384
źródło

Odpowiedzi:

16

64-bitowe wskaźniki pamięci i inne powiązane struktury danych są dwa razy większe niż ich 32-bitowe odpowiedniki. Ponadto 64-bitowy wątek roboczy będzie karany za każdym razem, gdy będzie musiał uzyskać dostęp do 32-bitowego kodu lub bibliotek DLL podczas przełączania trybów. (Badanie WoW64 i thunking.)

Największą (ale nie jedyną) zaletą używania 64 bitów jest możliwość adresowania znacznie większej ilości pamięci. Jeśli pula aplikacji nie wykorzystuje więcej niż 2 lub 3 gigabajty pamięci i nie musisz specjalnie uruchamiać 64-bitowego kodu, prawdopodobnie nie ma ważnego powodu, aby przejść na wersję 64-bitową. W miarę postępu technologii producenci układów wykonują dodatkowe rejestry procesora, szczególnie dla procesorów 64-bitowych, aby poprawić ich wydajność, ale ogólnie rzecz biorąc, nie ma magicznego zwiększenia wydajności tylko przy użyciu większej liczby bitów. W rzeczywistości, jak właśnie zauważyłeś, może być gorzej.

64-bit = zbiornik Abramsa

32-bit = Toyota Prius

Jeden może wykonać znacznie więcej pracy, ale drugi może zmieścić się w przejeździe McDonalda.

Ryan Ries
źródło
4
Nienawidzę nitpick, ale oba mogą zmieścić się w McDonald's drive-thru. Po prostu robi się to bez burzenia ściany.
HopelessN00b
3
Nienawidzę nitpick, ale myślę, że to w dużej mierze zależy od definicji dopasowania! Jeśli pójdziemy z „być odpowiednim rozmiarem i kształtem” zgodnie z definicją McDonald's drive-thru spec, powiedziałbym, że nie :).
GraemeMiller,