Limitazione delle richieste dell'host
La maggior parte dell'elaborazione svolta in un server BizTalk ha luogo all'interno di un'entità logica detta istanza dell'host BizTalk Server, la quale è un processo che viene eseguito come servizio Windows o come processo host isolato in BizTalk Server. Per gestire l'utilizzo delle risorse da parte di un processo dell'istanza dell'host, BizTalk Server utilizza un meccanismo regolabile di limitazione delle richieste, che regola il flusso e l'elaborazione dei messaggi in un'istanza dell'host.
Il meccanismo di limitazione delle richieste modera il carico di lavoro dell'istanza dell'host per garantire che non superi la capacità dell'istanza dell'host o di eventuali istanze dell'host a valle. Il meccanismo di limitazione impedisce inoltre una condizione nota come contesa delle risorse, che può abbassare il livello generale delle prestazioni del processo dell'istanza dell'host o di altri processi del sistema. La contesa delle risorse ha luogo quando uno o più processi consumano una risorsa limitata a scapito di se stessi e/o di un altro processo. Ad esempio, il consumo di memoria o thread eccessivi può portare a un errore nell'allocazione della memoria o a numerosi cambi di contesto dei thread, con conseguenze negative sulle prestazioni del processo. Una contesa di risorse di questo tipo può avere effetti negativi sulle prestazioni generali di BizTalk Server.
Il meccanismo di limitazione delle richieste dell'host rileva, inoltre, quando le risorse disponibili sono sottoutilizzate. Se le risorse disponibili sono sottoutilizzate, il meccanismo di limitazione delle richieste consente l'elaborazione di ulteriori messaggi da parte di un'istanza dell'host. Il meccanismo di limitazione delle richieste dell'host controlla in modo continuativo se le risorse disponibili sono sovrautilizzate o sottoutilizzate e adegua di conseguenza il flusso dei messaggi nell'istanza dell'host.
Il meccanismo di limitazione delle richieste dell'host di BizTalk Server contribuisce a garantire un livello di funzionamento del sistema ottimale e sostenibile.
I parametri di configurazione della limitazione delle richieste dell'host devono essere impostati per ogni host nella console Amministrazione BizTalk Server. Si noti che i parametri di configurazione del meccanismo di limitazione delle richieste impostati per l'host vengono applicati a tutti i gestori di ricezione, gestori di trasmissione o orchestrazioni delle corrispondenti istanze dell'host. Se si desidera impostare parametri di limitazione delle richieste validi solo per uno specifico gestore di ricezione, gestore di trasmissione o orchestrazione, procedere come segue:
Creare un nuovo host e impostare i parametri di limitazione delle richieste in modo appropriato.
Configurare il gestore di ricezione, il gestore di trasmissione o l'orchestrazione per l'esecuzione nell'host.
Creare una o più istanze dell'host da eseguire nel server o nei server BizTalk Server.
Limitazione delle richieste in ingresso
La limitazione dell'host in ingresso, nota anche come limitazione della pubblicazione di messaggi in BizTalk Server, viene applicata alle istanze host che contengono adattatori di ricezione o orchestrazioni che pubblicano messaggi nel database MessageBox. Una condizione di limitazione delle richieste dell'host può venire attivata al verificarsi delle seguenti condizioni:
La quantità di memoria, il numero di thread o il numero di connessioni alle banche dati usati dall'istanza host supera le soglie di limitazione definite in Dashboard impostazioni disponibile nel gruppo BizTalk e selezionando Impostazioni. Questi valori sono misurabili con i contatori di monitoraggio delle prestazioni disponibili nella categoria dell'oggetto prestazioni BizTalk:Message Agent .
Gli host a valle non possono elaborare i messaggi pubblicati. Ciò aumenta il valore del conteggio messaggi nel parametro DB . La soglia in base alla quale il numero di messaggi nel valore del database attiva una condizione di limitazione è configurabile nell'opzione Host nel dashboard delle impostazioni. Il conteggio dei messaggi nel database può essere misurato con il contatore Dimensioni database nella categoria dell'oggetto prestazioni BizTalk:Message Agent .
La frequenza in ingresso di pubblicazione dei messaggi per l'istanza host supera la frequenza in uscita di pubblicazione dei messaggi\* il valore del fattore di overdrive rate specificato. Il valore del fattore rate overdrive è definito in Dashboard impostazioni, host e quindi limitazione basata sulla frequenza. La frequenza di pubblicazione dei messaggi in ingresso e in uscita può essere misurata con i contatori del monitoraggio delle prestazioni corrispondenti nella categoria dell'oggetto prestazioni BizTalk:Message Agent .
Il comportamento predefinito della limitazione è stato modificato. L'uso del dashboard delle impostazioni per BizTalk Server Ottimizzazione delle prestazioni descrive i diversi valori che influisce sul comportamento della limitazione.
A seconda della gravità della condizione di limitazione delle richieste, vengono eseguite le seguenti operazioni:
Viene implementato un ritardo progressivo nella logica di elaborazione dell'istanza dell'host. Il ritardo può venire implementato quando un thread di Gestione endpoint riceve un batch di messaggi dall'adapter di trasporto e/o quando Gestione endpoint invia un batch di messaggi da pubblicare nel database MessageBox. Sia la durata del ritardo di elaborazione che la velocità di incremento della durata dipendono dalla gravità della condizione di limitazione delle richieste.
Il numero di thread a disposizione di Gestione endpoint è limitato. Gestione endpoint riceve batch di messaggi dagli adapter e pubblica i messaggi nel database MessageBox. Per impostazione predefinita, Gestione endpoint è configurato per l'utilizzo di 20 thread per CPU. Se il meccanismo di limitazione delle richieste rileva una condizione di stress per l'elaborazione in ingresso, può ridurre temporaneamente il numero di thread a disposizione di Gestione endpoint finché non viene eliminata la condizione di stress. Gestione endpoint non è in grado di elaborare messaggi provenienti da adapter di trasporto o consegnare batch di messaggi al database MessageBox a meno che non sia disponibile un thread di Gestione endpoint per gestire il batch di messaggi in ingresso.
L'utilizzo della memoria e di altre risorse viene ridotto secondo le esigenze. BizTalk Server può inviare istruzioni ad altre classi di servizio per limitare l'utilizzo della memoria disidratando le pianificazioni in esecuzione, riducendo le dimensioni della cache e limitando l'uso di thread che consumano molta memoria.
Flusso dei messaggi in ingresso dall'adapter a MessageBox
Limitazione delle richieste in uscita
La limitazione della limitazione dell'host in uscita, nota anche come limitazione dell'elaborazione dei messaggi in BizTalk Server, viene applicata alle istanze host che contengono orchestrazioni o adattatori di invio che ricevono e recapitano o elaborano messaggi pubblicati in MessageBox. Una condizione di limitazione delle richieste in uscita può venire attivata al verificarsi delle seguenti condizioni:
La quantità di memoria, il numero di thread o il numero di connessioni alle banche dati usati dall'istanza host supera le soglie di limitazione definite in Limitazione basata sulle risorse nel dashboard delle impostazioni. Questi valori sono misurabili con i contatori di monitoraggio delle prestazioni disponibili nella categoria dell'oggetto prestazioni BizTalk:Message Agent .
La frequenza in arrivo del recapito dei messaggi per l'istanza host supera la frequenza in uscita del recapito dei messaggi * il valore del fattore di overdrive rate specificato. Il valore del fattore di overdrive Rate viene definito nella scheda Limitazione basata sulla frequenza in Dashboard impostazioni. La frequenza di recapito dei messaggi in ingresso e in uscita può essere misurata con i contatori del monitoraggio delle prestazioni corrispondenti nella categoria dell'oggetto prestazioni BizTalk:Message Agent .
Il numero di messaggi elaborati simultaneamente dall'istanza host supera i messaggi in-process per CPU * il numero di CPU disponibili nella casella. La soglia messaggi in-process viene definita nella scheda Limitazione basata sulle risorse nel dashboard delle impostazioni. Il numero di messaggi elaborati simultaneamente dall'istanza host può essere misurato con il contatore delle prestazioni Conteggio messaggi in-process nella categoria dell'oggetto prestazioni BizTalk:Message Agent .
Il comportamento predefinito della limitazione è stato modificato. L'uso del dashboard delle impostazioni per BizTalk Server Ottimizzazione delle prestazioni descrive i diversi valori che influisce sul comportamento della limitazione.
A seconda della gravità della condizione di limitazione delle richieste, vengono eseguite le seguenti operazioni:
Viene implementato un ritardo progressivo nella logica di elaborazione dell'istanza dell'host prima di recapitare i messaggi all'adapter del trasporto in uscita o al motore di orchestrazione per l'elaborazione dei messaggi. Sia la durata del ritardo della logica di elaborazione che la velocità di incremento della durata dipendono dalla gravità della condizione di limitazione delle richieste.
Il numero di messaggi che possono essere contenuti nella coda in memoria è limitato. La coda in memoria funge da segnaposto temporaneo per il recapito dei messaggi dal MessageBox all'agente messaggi, che a sua volta recapita i messaggi a XLANG e agli adapter di trasmissione. Per impostazione predefinita, la coda in memoria è impostata per contenere 100 messaggi per CPU. Quando la coda è piena, nessun altro messaggio viene estratto dalla coda dal MessageBox finché la coda in memoria non viene liberata.
Le dimensioni del pool di thread dell'agente messaggi sono limitate. Limitando le dimensioni del pool di thread dell'agente messaggi, il meccanismo di limitazione delle richieste dell'host riduce in modo efficace la quantità di messaggi recapitati a XLANG e agli adapter.
È possibile modificare le dimensioni predefinite del pool di thread dell'agente messaggi modificando il valore Numero massimo di thread del motore nella scheda Generale nel dashboard delle impostazioni. Per altre informazioni sulla modifica di questo valore, vedere Come modificare le impostazioni generali.
L'utilizzo della memoria e di altre risorse viene ridotto secondo le esigenze. BizTalk Server può inviare istruzioni ad altre classi di servizio per limitare l'utilizzo della memoria mediante la disidratazione delle pianificazioni in esecuzione, la riduzione delle dimensioni della cache di memoria e la limitazione di thread che fanno un uso intensivo della memoria.
Flusso di messaggi in uscita da MessageBox ad adapter e a XLANG
Vedere anche
Implementazione della limitazione delle richieste host in BizTalk Server
Uso del dashboard delle impostazioni per l'ottimizzazione delle prestazioni di BizTalk Server