Condividi tramite


Ottimizzazione delle prestazioni di IIS

Applicare le opzioni di configurazione iis per migliorare le prestazioni di IIS

Internet Information Services (IIS) espone numerosi parametri di configurazione che influiscono sulle prestazioni di IIS. In questo argomento vengono descritti diversi di questi parametri e vengono fornite indicazioni generali per impostare i valori dei parametri per migliorare le prestazioni di IIS.

Registrare solo informazioni essenziali o disabilitare completamente la registrazione iis

La registrazione IIS deve essere ridotta o anche disabilitata in un ambiente di produzione. Per disabilitare la registrazione, seguire questa procedura:

  1. Fare clic su Start, scegliere Tutti i programmi, Strumenti di amministrazione e quindi Gestione Internet Information Services (IIS).

  2. Nel riquadro Connessioni fare clic per espandere Siti, fare clic per selezionare il sito Web per cui si desidera disabilitare la registrazione, fare clic su per selezionare Visualizzazione funzionalità e quindi fare doppio clic sulla funzionalità Registrazione .

  3. Fare clic su Disabilita nel riquadro Azioni per disabilitare la registrazione per il sito Web.

Disabilitare il debug ASP di IIS negli ambienti di produzione

Il debug ASP di IIS deve essere disabilitato in un ambiente di produzione. Per disabilitare il debug ASP di IIS, seguire questa procedura: nel riquadro Connessioni fare clic per espandere Siti, fare clic per selezionare il sito Web per il quale si desidera disabilitare il debug ASP, fare clic per selezionare Visualizzazione funzionalità e quindi fare doppio clic sulla funzionalità ASP . Fare clic per espandere Compilazione, fare clic per espandere Proprietà debug e verificare che sia Abilita debug lato client che Abilita debug lato server siano impostati su False.

  1. Fare clic su Start, scegliere Tutti i programmi, Strumenti di amministrazione e quindi Gestione Internet Information Services (IIS).

  2. Nel riquadro Connessioni fare clic per espandere Siti, fare clic per selezionare il sito Web per il quale si desidera disabilitare il debug ASP, fare clic per selezionare Visualizzazione funzionalità e quindi fare doppio clic sulla funzionalità ASP .

  3. Fare clic per espandere Compilazione, fare clic per espandere Proprietà debug e verificare che sia Abilita debug lato client che Abilita debug lato server siano impostati su False.

  4. Se necessario, fare clic su Applica nel riquadro Azioni .

    Disabilitare il debug per ASP.NET Applicazioni e Servizi Web specificando la <sezione debug="false"> di compilazione nel file web.config per l'applicazione Web.

Ottimizzare il valore della proprietà Asp Thread per processore Limit

La proprietà ASP Thread per limite processore specifica il numero massimo di thread di lavoro per processore creati da IIS. Aumentare il valore per il limite Thread per processore finché l'utilizzo del processore non raggiunge almeno il 50%. Questa impostazione può influire notevolmente sulla scalabilità delle applicazioni Web e sulle prestazioni del server in generale. Poiché questa proprietà definisce il numero massimo di richieste ASP che possono essere eseguite contemporaneamente, questa impostazione deve rimanere al valore predefinito, a meno che le applicazioni ASP non eseguano chiamate estese a componenti esterni. In questo caso, è possibile aumentare il valore di Thread per limite processore. In questo modo il server può creare più thread per gestire più richieste simultanee. Il valore predefinito del limite di thread per processore è 25. Il valore massimo consigliato per questa proprietà è 100.

Per aumentare il valore per il limite thread per processore, seguire questa procedura: nel riquadro Connessioni selezionare il server Web, fare clic per selezionare Visualizzazione funzionalità e quindi fare doppio clic sulla funzionalità ASP .

  1. Fare clic su Start, scegliere Tutti i programmi, Strumenti di amministrazione e quindi Gestione Internet Information Services (IIS).

  2. Nel riquadro Connessioni selezionare il server Web, fare clic per selezionare Visualizzazione funzionalità e quindi fare doppio clic sulla funzionalità ASP .

  3. Fare clic per espandere Proprietà limiti in Comportamento, fare clic su Limite di thread per processore, immettere il valore desiderato per Limite di thread per processore e fare clic su Applica nel pannello Azioni.

    Per ulteriori informazioni su come modificare le proprietà nell'elemento <limits> dell'elemento IIS 7.5/7.0 <ASP>, vedere ASP Limits <limits> (https://go.microsoft.com/fwlink/?LinkId=157483).

Annotazioni

Poiché questa proprietà può essere applicata solo a livello di server, la modifica di questa proprietà influisce su tutti i siti Web eseguiti nel server.

Regolare il valore della proprietà Lunghezza coda ASP

L'obiettivo dell'ottimizzazione di questa proprietà è garantire un buon tempo di risposta riducendo al minimo la frequenza con cui il server invia l'errore HTTP 503 (Server Troppo occupato) ai client quando la coda delle richieste ASP è piena. Se il valore della proprietà Lunghezza coda ASP è troppo basso, il server invierà l'errore HTTP 503 con una frequenza maggiore. Se il valore della proprietà Lunghezza coda ASP è troppo elevato, gli utenti potrebbero percepire che il server non risponde quando, in realtà, la loro richiesta è in attesa nella coda. Osservando la coda durante periodi di traffico elevato, è necessario distinguere un modello di picchi e valli delle richieste Web. Prendere nota del valore di picco e impostare il valore della proprietà Lunghezza coda ASP appena sopra il valore di picco. Usare la coda per gestire picchi a breve termine, garantire il tempo di risposta e limitare il sistema per evitare l'overload quando si verificano picchi imprevisti e sostenuti. Se non si dispone di dati per modificare la proprietà della lunghezza di coda ASP, un buon punto di partenza sarà quello di impostare un rapporto di uno a uno tra le code e i thread totali. Ad esempio, se la proprietà ASP Thread Per Processore - Limite è impostata su 25 e si dispone di quattro processori (4 * 25 = 100 thread), impostare la proprietà Lunghezza coda ASP su 100 e ottimizzare da lì.

Per aumentare il valore per la proprietà Queue Length, seguire questa procedura:

  1. Fare clic su Start, scegliere Tutti i programmi, Strumenti di amministrazione e quindi Gestione Internet Information Services (IIS).

  2. Nel riquadro Connessioni selezionare il server Web, fare clic per selezionare Visualizzazione funzionalità e quindi fare doppio clic sulla funzionalità ASP .

  3. Fare clic per espandere Proprietà limiti in Comportamento, fare clic su Lunghezza coda, immettere il valore desiderato per Lunghezza coda e quindi fare clic su Applica nel riquadro Azioni .

    Per ulteriori informazioni su come modificare le proprietà all'interno dell'elemento <limits> dell'elemento <asp> di IIS 7.5/7.0, vedere ASP Limits <limits> (https://go.microsoft.com/fwlink/?LinkId=157483).

Annotazioni

Poiché questa proprietà può essere applicata solo a livello di server, la modifica di questa proprietà influisce su tutti i siti Web eseguiti nel server.

Ottimizzare la voce del Registro di sistema MaxPoolThreads

Questa impostazione specifica il numero di thread del pool da creare per processore. I thread del pool controllano la rete per le richieste ed elaborano le richieste in ingresso. Il conteggio MaxPoolThreads non include thread utilizzati dalle applicazioni ISAPI. In genere, non è consigliabile creare più di 20 thread per processore. MaxPoolThreads è una voce del Registro di sistema REG_DWORD che si trova in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\ con un valore predefinito pari a 4.

Disabilitare la traccia dei servizi WCF

Usare lo strumento editor di configurazione (SvcConfigEditor.exe) per disabilitare la traccia dei servizi WCF in un ambiente di produzione. Per altre informazioni sullo strumento editor di configurazione, vedere Strumento editor di configurazione (SvcConfigEditor.exe) (https://go.microsoft.com/fwlink/?LinkID=127070).

Configurare ASP.NET 2.0 MaxConcurrentRequests per IIS 7.5/7.0 Modalità integrata

Quando ASP.NET 2.0 è ospitato in IIS 7.5/7.0 in modalità integrata, l'uso dei thread viene gestito in modo diverso rispetto a IIS 7.5/7.0 in modalità classica. Quando ASP.NET 2.0 è ospitato in IIS 7.5 in modalità integrata, ASP.NET 2.0 limita il numero di richieste in esecuzione simultanea anziché il numero di thread che eseguono contemporaneamente richieste. Per gli scenari sincroni, questo limiterà indirettamente il numero di thread perché il numero di richieste sarà uguale al numero di thread. Per gli scenari asincroni, tuttavia, il numero di richieste e thread probabilmente sarà molto diverso perché si potrebbero avere molte più richieste rispetto ai thread. Quando si esegue ASP.NET 2.0 in IIS 7.5 in modalità integrata, minFreeThreads e minLocalRequestFreeThreads dell'elemento "httpRuntime" nel machine.config vengono ignorati. Per la modalità integrata IIS 7.5, una DWORD denominata MaxConcurrentRequestsPerCPU all'interno di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0 determina il numero di richieste simultanee per CPU. Per impostazione predefinita, la chiave del Registro di sistema non esiste e il numero di richieste per CPU è limitato a 12. .NET Framework 3.5 SP1 include un aggiornamento ai file binari v2.0 che supportano la configurazione dei pool di applicazioni IIS tramite il file aspnet.config. Questa configurazione si applica solo alla modalità integrata (la modalità classica/ISAPI ignora queste impostazioni). La nuova sezione di configurazione aspnet.config con i valori predefiniti è elencata di seguito:

<system.web>
   <applicationPool maxConcurrentRequestsPerCPU="12" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000"/>
</system.web>

In modalità integrata IIS 7.5, i parametri maxWorkerThreads e maxIoThreads nella sezione "processModel" del file machine.config non vengono usati per gestire il numero di richieste in esecuzione, se disponibili, ma vengono comunque usate per gestire le dimensioni del pool di thread CLR usato da ASP.NET. Quando la sezione "processModel" del machine.config ha "autoConfig=true" (ovvero l'impostazione predefinita), in questo modo il pool di applicazioni darà fino a 100 thread di lavoro (MaxWorkerThreads) per CPU logica. Quindi un server di materie prime comune con 2 CPU dual core avrebbe 400 MaxWorkerThreads. Questo dovrebbe essere sufficiente per tutte le applicazioni tranne le più impegnative.

Per altre informazioni sulla configurazione dell'utilizzo di ASP.NET thread in IIS 7.5, vedere il blog di Thomas Marquardt sull'utilizzo dei thread ASP.NET in IIS 7.0 (https://go.microsoft.com/fwlink/?LinkId=157518).

Configurare ASP.NET 4 MaxConcurrentRequests per IIS 7.5/7.0 In modalità integrata

Con .NET Framework 4, l'impostazione predefinita per maxConcurrentRequestsPerCPU è 5000, che è un numero molto elevato e pertanto consentirà l'esecuzione simultanea di molte richieste asincrone. Per altre informazioni, vedere <Elemento applicationPool> (Impostazioni Web) (https://go.microsoft.com/fwlink/?LinkID=205339).

Per la modalità integrata IIS 7.5/7.0, una DWORD denominata MaxConcurrentRequestsPerCPU all'interno di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0 determina il numero di richieste simultanee per CPU. Per impostazione predefinita, la chiave del Registro di sistema non esiste e il numero di richieste per CPU è limitato a 5000.

Abilitare la compressione HTTP IIS

Per usare in modo più efficiente la larghezza di banda disponibile, abilitare la compressione HTTP IIS. La compressione HTTP offre tempi di trasmissione più rapidi tra browser abilitati per la compressione e IIS, indipendentemente dal fatto che il contenuto venga fornito dall'archiviazione locale o da una risorsa UNC.

  • Per configurare la compressione a livello di server Web:

    1. Fare clic su Start, scegliere Tutti i programmi, Strumenti di amministrazione e quindi Gestione Internet Information Services (IIS).

    2. Nel riquadro Connessioni selezionare il server Web, fare clic per selezionare Visualizzazione funzionalità e quindi fare doppio clic sulla funzionalità Compressione .

    3. Impostare le opzioni di compressione desiderate e quindi fare clic su Applica nel riquadro Azioni .

  • Per configurare la compressione a livello di sito Web:

    1. Fare clic su Start, scegliere Tutti i programmi, Strumenti di amministrazione e quindi Gestione Internet Information Services (IIS).

    2. Nel riquadro Connessioni fare clic per espandere Siti, fare clic per selezionare il sito Web per cui si desidera configurare la compressione, fare clic per selezionare Visualizzazione funzionalità e quindi fare doppio clic sulla funzionalità compressione .

    3. Impostare le opzioni di compressione desiderate e quindi fare clic su Applica nel riquadro Azioni .

Vedere anche

Ottimizzazione delle prestazioni