32 bity lub 64 bity dla witryn sieci Web Windows Azure?

14

W Windows Azure Web Sites oferuje dwie opcje dla 32-bitowego lub 64bits. Nowe strony mają domyślnie 32 bity. W przypadku konfiguracji serwera wydaje się to nieco dziwne, ponieważ, AFAIK, ogromna większość serwerów sieciowych jest w konfiguracji 64-bitowej od lat. Biorąc pod uwagę zwykłe przypadki użycia dla stron ASP.NET, czy istnieją jakiekolwiek powody, aby faworyzować 32-bitowe zamiast 64-bitowych?

Joannes Vermorel
źródło

Odpowiedzi:

5

Zależy od obciążenia.

IIS + .NET na skałach x64 i może obsługiwać bardzo duże obciążenia. Jeśli wykonasz test ładowania, zobaczysz, że serwery x64 z wystarczającą ilością procesora i pamięci RAM przewyższają x86 w dobrym stanie.

Jeśli twoje obciążenie jest niewielkie i / lub masz zamiar zrównoważyć liczbę serwerów, może się okazać, że x86 jest w porządku. (Jestem wielkim zwolennikiem używania najmniejszych możliwych instancji do obciążenia pracą - tak wiele IT rzuca metal na problem i jest to marnotrawstwo. X86 jest piękny. Niestety, coraz trudniej jest uzyskać instancje x86).

W naszym przypadku ładujemy wiele serwerów x64. Jednak podczas operacji wdrażania całe lub większość obciążenia można skierować na pojedynczy serwer. W naszym przypadku, jeśli ten serwer miałby x86, byłby zestresowany i bardzo wolny. Ponieważ jest to x64, może obsłużyć obciążenie, a użytkownicy nie zauważają.

Jonesome przywraca Monikę
źródło
Niedawno dowiedziałem się, że śmieciarz blokuje wszystkie wątki podczas procesu, powodując czasami większe opóźnienia. Po włączeniu 64-bitowego moduł wyrzucania elementów bezużytecznych będzie działał rzadziej, co poprawi wydajność aplikacji.
Tom
3

Odpowiedź brzmi - to skomplikowane. To proste, jeśli Twoja aplikacja wymaga dostępu do wielu GB pamięci RAM (większość aplikacji tego nie robi), wtedy musisz mieć 64-bitowy.

W przeciwnym razie tylko przetestowanie konkretnej aplikacji pod 32-bitową i 64-bitową może na pewno powiedzieć, a następnie zależy to od tego, co jest dla Ciebie najważniejsze, zajmowanej pamięci lub wydajności procesora. Pamiętaj, że jeśli zabraknie pamięci wtedy aplikacja będzie albo strona na dysku i powiedzieć do widzenia (w sposób huuuuuge) do każdej przyrost wydajności ty może nie dostał od przejścia na 64bit lub swoim automatycznym skalowaniem rozpocznie się i będzie zostanie naliczona większa opłata przez platformę Azure za dodane instancje serwera lub zaczniesz otrzymywać błędy OutOfMemory, które są zakończone dla Twojej aplikacji.

Zobacz także: https://www.hanselman.com/blog/PennyPinchingInTheCloudYourWebAppDoesntNeed64bit.aspx

Harlow Burgess
źródło
1

Przejdź na wersję 32-bitową, chyba że potrzebujesz 64-bitowej przestrzeni adresowej - co jest rzadkością w przypadku normalnej witryny.

Powodem jest po prostu to, że strony internetowe zwykle nie potrzebują przestrzeni adresowej, a 32 programy bi działają szybciej.

Teraz mówisz:

zdecydowana większość serwerów sieciowych jest w konfiguracji 64-bitowej od lat

Tak ale:

Domyślną konfiguracją puli aplikacji IIS jest uruchamianie w trybie 32-bitowym - ze względu na kompatybilność i wydajność. Rada firmy Microsoft dotycząca konfiguracji IIS zaleca używanie 32-bitowych pul aplikacji na 64-bitowym serwerze.

Czek:

http://www.iis.net/learn/web-hosting/web-server-for-shared-hosting/32-bit-mode-worker-processes

do oficjalnego oświadczenia.

Możesz być pewien, że będzie działał na 64-bitowym serwerze, ponieważ Microsoft nie oferuje obecnie 32-bitowej oferty produkcyjnej. Ale jeśli nie potrzebujesz większej ilości pamięci RAM, wpływ performanceacne nie jest tego wart.

TomTom
źródło
„Domyślną konfiguracją puli aplikacji IIS jest uruchamianie w trybie 32-bitowym” Od pewnego czasu tak nie było. IIS to zawsze x64 w systemie operacyjnym x64 Server i wymaga hakowania w celu uzyskania wersji 32-bitowej.
Jonesome przywraca Monikę
2
„Programy 32-bitowe działają szybciej.” to nie jest prawdą na całym świecie.
xaxxon