32 bit o 64 bit per i siti Web Windows Azure?


13

I siti Web Windows Azure offrono due opzioni a 32 bit o 64 bit. I nuovi siti vengono forniti con 32 bit per impostazione predefinita. Per una configurazione server è un po 'strano perché, AFAIK, la stragrande maggioranza dei server Web è stata configurata a 64 bit per anni. Considerando i soliti casi d'uso per i siti ASP.NET, ci sono ragioni per favorire 32 bit rispetto a 64 bit?

Risposte:


4

Dipende dal carico di lavoro.

IIS + .NET su rocce x64 e può supportare carichi di lavoro molto grandi. Se esegui i test di carico, vedrai che i server x64 con CPU e RAM sufficienti superano x86 con una buona misura.

Se il carico di lavoro è piccolo e / o si intende bilanciare il carico di un numero di server, è possibile che x86 vada bene. (Sono fermamente convinto a utilizzare le istanze più piccole possibili per il carico di lavoro: gran parte dell'IT sta gettando metallo sul problema ed è dispendioso. X86 è bello. Sfortunatamente, sta diventando più difficile ottenere istanze x86.)

Nel nostro caso, bilanciamo il carico di più server x64. Tuttavia, durante le operazioni di distribuzione, tutto o la maggior parte del carico può essere indirizzato a un singolo server. Nel nostro caso, se quel server fosse x86, sarebbe stressato e molto lento. Essendo x64, può gestire il carico e gli utenti non se ne accorgono.


Di recente ho appreso che il Garbage Collector blocca tutti i thread durante il processo, causando a volte una maggiore latenza. Una volta abilitato a 64 bit, il Garbage Collector agirà meno frequentemente, migliorando così le prestazioni della tua app.
Tom

3

La risposta è: è complicata. È semplice solo se l'applicazione richiede l'accesso a molti GB di RAM (la maggior parte delle app no), quindi è necessario disporre di 64 bit.

Altrimenti, solo testare l'app specifica a 32 e 64 bit può dirlo con certezza, quindi dipende da ciò che è più importante per te, dall'impronta di memoria o dalle prestazioni della CPU. Ricorda, se esaurisci la memoria, la tua app passerà da una pagina all'altra del disco e saluterà (in modo eccezionale) a qualsiasi guadagno di prestazioni che potresti aver ottenuto passando a 64 bit, o il tuo ridimensionamento automatico si avvierà e lo farai ti verranno addebitati più soldi da Azure per le istanze del server aggiunte o inizierai a ricevere errori OutOfMemory che sono finiti per la tua app.

Vedi anche: https://www.hanselman.com/blog/PennyPinchingInTheCloudYourWebAppDoesntNeed64bit.aspx


1

Vai a 32 bit a meno che tu non abbia bisogno di uno spazio di indirizzi a 64 bit, il che è raro per un normale sito Web.

Il motivo è semplicemente che i siti Web normalmente non necessitano dello spazio degli indirizzi e 32 programmi bi funzionano più velocemente.

Ora dici:

la stragrande maggioranza dei server Web è stata configurata a 64 bit per anni

Si ma:

L'impostazione predefinita per un pool di applicazioni IIS è l'avvio in modalità 32 bit, per motivi di compatibilità e prestazioni. Il consiglio di Microsoft per la configurazione di IIS è di utilizzare pool di applicazioni a 32 bit su un server a 64 bit.

Dai un'occhiata:

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

per la dichiarazione ufficiale.

Puoi essere sicuro che verrà eseguito su un server a 64 bit, poiché Microsoft non offre alcuna offerta di produzione a 32 bit. Ma a meno che non siano necessarie maggiori quantità di RAM, l'impatto sulle prestazioni non ne vale la pena.


"L'impostazione predefinita per un pool di applicazioni IIS è l'avvio in modalità 32 bit" Questo non è stato vero per qualche tempo. IIS è sempre x64 sul sistema operativo server x64 e richiede l'hacking per rendere 32 bit.
Jonesome ripristina Monica il

1
"I programmi a 32 bit funzionano più velocemente." questo non è globalmente vero.
xaxxon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.