Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
di Shaun Eagan
Compatibilità
Versione | Note |
---|---|
IIS 8,0 | La limitazione della CPU è stata aggiornata in IIS 8.0 per includere opzioni di limitazione aggiuntive. |
IIS 7,5 | La limitazione della CPU non è stata modificata in IIS 7.5. |
IIS 7.0 | La limitazione della CPU è stata introdotta in IIS 7.0. |
Problema
In una distribuzione multi-tenant, ad esempio un ambiente di hosting condiviso, è importante creare una scatola di sabbia per ogni tenant. Senza la sand-box, un tenant potrebbe influire intenzionalmente o involontariamente su altri tenant negativamente accedendo al contenuto di altri tenant o monopolizzando le risorse, ad esempio memoria, CPU e larghezza di banda.
Soluzione
In Internet Information Services (IIS) in Windows Server 2012, la casella di sabbia ha come ambito un pool di applicazioni IIS. Offre entrambi i limiti di sicurezza a livello di processo di Windows eseguendo ogni tenant in identità utente separata e le limitazioni delle risorse vengono applicate anche al processo.
In Windows Server 2012, la funzionalità di limitazione della CPU IIS consente ai clienti di limitare realmente la quantità di CPU che ogni tenant può utilizzare come percentuale di CPU. Inoltre, questa funzionalità è configurabile per ogni pool di applicazioni IIS, il che significa che ogni tenant potrebbe avere limiti diversi, il che può portare a un nuovo modello di business in cui i tenant possono pagare di più per limiti più elevati.
È importante chiarire che la limitazione della CPU IIS non è una prenotazione di una risorsa CPU. È piuttosto un modo per limitare l'utilizzo massimo.
Istruzioni dettagliate
Prerequisiti:
IIS viene installato in Windows Server 2012.
- La limitazione della CPU IIS fa parte della configurazione del pool di applicazioni IIS. Pertanto, un'installazione predefinita di IIS avrà questa funzionalità installata. Non è presente alcuna funzionalità IIS specifica che deve essere installata da Server Manager.
Esiste almeno un sito con un pool di applicazioni IIS corrispondente.
- Per questo esercizio è possibile usare Il sito Web predefinito e DefaultAppPool.
Soluzioni alternative per i bug noti:
Al momento non sono presenti bug noti per questa funzionalità.
Configurare la limitazione della CPU
Aprire Gestione IIS.
Selezionare Pool di applicazioni nella finestra di spostamento a sinistra:
Selezionare DefaultAppPool:
Nel riquadro Azione selezionare Impostazioni avanzate:
In Gruppo CPU individuare le configurazioni seguenti:
Limite: indica l'utilizzo massimo della CPU (in 1000° di percentuale) per questo pool di applicazioni. Se sono presenti più processi associati a questo pool di applicazioni, il limite viene applicato alla somma totale di tutti i processi nel pool di applicazioni.
LimitAction: indica l'azione da eseguire quando viene raggiunto il valore limite superiore.
- Per Windows Server 8 sono state aggiunte nuove azioni, Throttle e ThrottleUnderLoad :
- Limitazione: la funzionalità limita il consumo della CPU al valore impostato per Limit.
- ThrottleUnderLoad: la funzionalità limita il consumo della CPU al valore impostato per Limit, ma solo se è presente una contesa nella CPU. Ciò significa che il pool di applicazioni può utilizzare un maggior numero di attività della CPU quando la CPU è inattiva.
- Per Windows Server 8 sono state aggiunte nuove azioni, Throttle e ThrottleUnderLoad :
LimitInterval: non usato sia per Throttle che per ThrottleUnderLoad. Questo attributo di configurazione viene eseguito dalle versioni precedenti di Windows per garantire la compatibilità con le versioni precedenti.
Per impostare il limite massimo del 30%, immettere:
- Limite: 30000 (30% nel 1000° di una percentuale)
- LimitAction: Throttle
È tutto. Usando uno strumento di generazione del carico, inviare richieste al sito Web predefinito. È possibile usare uno strumento come WCAT (https://www.iis.net/community/default.aspx?tabid=34& g=6&i=1467) per generare traffico.
Si noti che le impostazioni di configurazione in questione possono essere impostate come valori predefiniti in modo che non siano configurate singolarmente per ogni pool di applicazioni. Per configurare le impostazioni predefinite del pool di applicazioni, selezionare Imposta valori predefiniti del pool di applicazioni nel riquadro Azioni :
Le stesse impostazioni vengono esposte per configurare le impostazioni predefinite del pool di applicazioni:
Scenari
Provare a distribuire gli scenari seguenti:
- La funzionalità di limitazione della CPU IIS è progettata per un ambiente multi-tenant. Provare queste impostazioni in un ambiente in cui sono presenti migliaia di siti e applicazioni, ad esempio una distribuzione di hosting condivisa.
- Impostare limiti diversi per diversi "gruppi" di tenant per simulare i clienti autorizzati a utilizzare più risorse della CPU rispetto ad altri.
- Impostare ThrottleUnderLoad come LimitAction per osservare il comportamento. Funziona come Throttle, se sono presenti conflitti nella CPU. Se non sono presenti conflitti nella CPU, il pool di applicazioni può usare più risorse della CPU rispetto al valore impostato per Limit.
- Creare un sand box con limiti di memoria e larghezza di banda, insieme alla funzionalità di limitazione della CPU IIS in Windows Server 2012. I limiti di memoria e larghezza di banda non vengono descritti in modo specifico in questa documentazione perché queste funzionalità esistono in Windows Server 2008 e Windows Server 2008 R2.
Riepilogo
È stata esaminata correttamente la funzionalità di limitazione della CPU IIS in Windows Server 2012.