Condividi tramite


Applicare le impostazioni di configurazione IIS

Per impostazione predefinita, gli adattatori WCF SOAP, HTTP e HTTP (e .NET in generale) aprono solo due connessioni HTTP simultanee da ogni istanza host BizTalk a qualsiasi server di destinazione specifico. Ad esempio, se si dispone di una porta di trasmissione SOAP che invia messaggi a http://www.contoso.com/SomeWebService.asmx, per impostazione predefinita ogni istanza host in esecuzione in ogni BizTalk Server aprirà solo due connessioni HTTP simultanee a www.contoso.com, indipendentemente dal numero di messaggi da inviare.

Questa impostazione è conforme alla specifica IETF RFC per la specifica HTTP 1.1 e, sebbene sia adatta per gli scenari utente, non è ottimizzata per le comunicazioni tra server con velocità effettiva elevata. L'impostazione predefinita limita efficacemente le chiamate SOAP e HTTP in uscita a ogni server di destinazione a due invii simultanei da ogni istanza dell'host BizTalk Server.

Configurare ASP.NET MaxConcurrentRequests per la modalità integrata IIS 7.0

Quando ASP.NET 2.0 è ospitato in IIS 7.0 in modalità integrata, l'uso dei thread viene gestito in modo diverso rispetto a IIS 6.0 o iis 7.0 in modalità classica. Quando ASP.NET 2.0 è ospitato in IIS 7.0 in modalità integrata, ASP.NET 2.0 limita il numero di richieste in esecuzione simultanea anziché il numero di thread che eseguono simultaneamente le richieste. Per gli scenari sincroni, questo limiterà indirettamente il numero di thread perché il numero di richieste sarà uguale al numero di thread. Tuttavia, per gli scenari asincroni, è probabile che il numero di richieste e thread sia molto diverso perché potrebbero essere presenti molte più richieste rispetto ai thread. Quando si esegue ASP.NET 2.0 in IIS 7.0 in modalità integrata, minFreeThreads e minLocalRequestFreeThreads dell'elemento "httpRuntime" nel machine.config vengono ignorati. Per la modalità integrata IIS 7.0, un DWORD denominato 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 supporta 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>

Come regola generale, MaxConcurrentRequestsPerCPU deve essere impostato su un valore molto grande, ad esempio 5000.

In modalità integrata IIS 7.0, i parametri maxWorkerThreads e maxIoThreads nella sezione "processModel" del file machine.config non vengono usati per gestire il numero di richieste in esecuzione, 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 consentirà al pool di applicazioni 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 ma più impegnative.

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

Registrare solo informazioni essenziali o disabilitare completamente la registrazione iis

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

  1. Fare clic sul pulsante Start, scegliere Tutti i programmi, Strumenti di amministrazionee quindi gestione Internet Information Services (IIS).

  2. Nel riquadro Connessioni fare clic per espandere Siti, fare clic per selezionare il sito Web per cui disabilitare la registrazione, fare clic 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:

  1. Fare clic sul pulsante Start, scegliere Tutti i programmi, Strumenti di amministrazionee 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 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 Threads Per Processor Limit specifica il numero massimo di thread di lavoro per processore creati da IIS. Aumentare il valore per il limite di thread per processore fino a quando l'utilizzo del processore non soddisfa almeno il 50% o superiore. 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 thread per limite processore è 25. Il valore massimo consigliato per questa proprietà è 100.

Per aumentare il valore per il limite di thread per processore, seguire questa procedura:

  1. Fare clic sul pulsante Start, scegliere Tutti i programmi, Strumenti di amministrazionee 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 Limiti proprietà in Comportamento, fare clic su Thread per limite processore, immettere il valore desiderato per Thread per limite processore e fare clic su Applica nel riquadro Azioni .

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

Nota

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.

Nota

La proprietà Asp Threads Per Processor Limit per IIS 7.0 sostituisce l'impostazione ASPProcessorThreadMax ASP Metabase IIS 6.0. Per informazioni sull'impostazione della metabase ASPProcessorThreadMax di IIS 6.0, vedere Ottimizzazione delle impostazioni metabase ASP (https://go.microsoft.com/fwlink/?LinkId=158834) in MSDN.

Ottimizzare 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à ASP Queue Length è troppo elevato, gli utenti potrebbero percepire che il server non risponde quando la richiesta è in attesa nella coda. Osservando la coda durante periodi di traffico elevato, è necessario distinguere un modello di picchi e vallate di 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. Se non si dispone di dati per la modifica della proprietà Lunghezza coda ASP, un buon punto di partenza sarà impostare un rapporto uno-a-uno tra le code e i thread totali. Ad esempio, se la proprietà ASP Threads Per Processor Limit è impostata su 25 e si dispone di quattro processori (4 * 25 = 100 thread), impostare la proprietà ASP Queue Length su 100 e ottimizzare da questa posizione.

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

  1. Fare clic sul pulsante Start, scegliere Tutti i programmi, Strumenti di amministrazionee 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 altre informazioni su come modificare le proprietà nell'elemento limits> dell'elemento <ASP> IIS 7.0<, vedere Limiti <>ASP (https://go.microsoft.com/fwlink/?LinkId=157483).

Nota

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.

Nota

La proprietà ASP Queue Length per IIS 7.0 sostituisce l'impostazione AspRequestQueueMax asp Metabase iis 6.0. Per informazioni sull'impostazione AspRequestQueueMax di ASP Metabase iis 6.0, vedere Ottimizzazione delle impostazioni metabase ASP (https://go.microsoft.com/fwlink/?LinkId=158834) su MSDN.

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 watch la rete per le richieste ed elaborare le richieste in ingresso. Il conteggio MaxPoolThreads non include i 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).

Vedere anche

Elenco di controllo: Configurazione di BizTalk Server