Proprietà predefinite di disidratazione
Di seguito sono riportati i nomi delle proprietà di disidratazione e i relativi valori predefiniti. Queste proprietà sono configurabili nel dashboard delle impostazioni BizTalk o come XML nel file di configurazione BizTalk (BTSNTSvc.exe.config o BTSNTSvc64.exe.config). Il valori contenuti nel file di configurazione di BizTalk vengono applicati per primi. Vengono quindi applicate le impostazioni del dashboard impostazioni BizTalk. Le proprietà di disidratazione vengono lette all'avvio di tutte le istanze dell'host contenenti un'orchestrazione.
Importante
Non tutte le impostazioni di orchestrazione vengono esposte nel dashboard delle impostazioni BizTalk. Per tali impostazioni viene utilizzato il file di configurazione BizTalk (BTSNTSvc.exe.config o BTSNTSvc64.exe.config). In caso di utilizzo del file di configurazione BizTalk, molte proprietà non vengono elencate. Queste proprietà e i relativi valori predefiniti vengono comunque applicati, anche se non sono specificati in modo esplicito nel file di configurazione.
Per modificare i valori predefiniti, è possibile usare il dashboard delle impostazioni BizTalk o aggiungerli in modo esplicito al file di configurazione BizTalk. Per altre informazioni, vedere Using Settings Dashboard for BizTalk Server Performance Tuning andBTSNTSvc.exe.config File .For more information, see Using Settings Dashboard for BizTalk Server Performance Tuning and BTSNTSvc.exe.config File.
Disidratazione
MaxThreshold = 1800
MinThreshold = 1
ConstantThreshold = -1
VirtualMemoryThrottlingCriteria
OptimalUsage = 900
MaximalUsage = 1300
IsActive = true
PrivateMemoryThrottlingCriteria
OptimalUsage = 50
MaximalUsage = 350
IsActive = true
PhysicalMemoryThrottlingCriteria
OptimalUsage = 90
MaximalUsage = 95
IsActive = false
Ognuna di queste proprietà viene descritto in dettaglio nella sezione seguente.
Disidratazione
MaxThreshold e MinThreshold sono i limiti superiori e inferiori, in secondi, del tempo in cui un'orchestrazione può essere bloccata in una sottoscrizione (ovvero bloccata da una ricezione, ascolto o ritardo) prima di essere disidratata. Sarà anche presente un valore calcolato in fase di esecuzione, denominato TestThreshold, e il relativo valore, misurato in secondi, è compreso tra MinThreshold e MaxThreshold.
Se si imposta un valore oltre al valore predefinito -1 per ConstantThreshold, non sarà presente un valore di runtime TestThreshold. Quando un'orchestrazione viene bloccata in una sottoscrizione e la cronologia della durata di blocco di tutte le istanze di tale orchestrazione in tale sottoscrizione è maggiore del valore di TestThreshold, l'orchestrazione si disidrata. In caso contrario, se la cronologia è minore del valore TestThreshold , l'orchestrazione non si disidrata. Inoltre, anche se la cronologia indica che la disidratazione non verrà eseguita, se il tempo di blocco corrente raggiunge 2*TestThreshold, la disidratazione verrà eseguita. La cronologia è definita dalla media degli ultimi 10 tempi di attesa in secondi o dalla media del numero di tempi di attesa presenti nella cronologia se meno di 10.
Quando il valore di TestThreshold tende a MinThreshold man mano che aumenta l'utilizzo della memoria, viene chiamato "limitazione della disidratazione basata sulla memoria". La limitazione della disidratazione basata sulla memoria consente di vivere più istanze di orchestrazione perché quando una di esse è bloccata in attesa di lavoro (ovvero, in attesa di un messaggio o di un ritardo), può essere disidratata e sottratta memoria. TestThreshold è una funzione monotonicamente decrescente dell'utilizzo della memoria, è inversamente proporzionale all'utilizzo della memoria.
Di seguito sono riportate le descrizioni delle singole proprietà di disidratazione:
MaxThreshold: i limiti superiori, in secondi, del tempo in cui un'orchestrazione può essere bloccata in una sottoscrizione prima di essere disidratata.
MinThreshold: i limiti inferiori, in secondi, del tempo in cui un'orchestrazione può essere bloccata in una sottoscrizione prima di essere disidratata.
ConstantThreshold: soglia dinamica, che in genere varia tra i valori minimo e massimo specificati. È possibile, tuttavia, assegnare alla soglia un valore fisso impostando questa proprietà. Il valore -1 configura il motore in modo che non utilizzi una soglia costante. Se si imposta questa proprietà su un valore diverso da -1, verrà disattivata la limitazione delle richieste di disidratazione.
VirtualMemoryThrottlingCriteria
La memoria virtuale può diventare un collo di bottiglia nei computer a 32 bit a causa della frammentazione non gestita dell'heap, pertanto è consigliabile impostare una limitazione anche per questa risorsa. È necessario rieseguire la configurazione se è impostato /3GB oppure se gli host vengono eseguiti su una piattaforma a 64 bit. I valori di utilizzo ottimali e massimi sono indicati in MB.
Di seguito sono riportate le descrizioni delle singole proprietà VirtualMemoryThrottlingCriteria:
OptimalUsage: quantità di utilizzo della memoria virtuale in corrispondenza della quale la limitazione della disidratazione inizia ad avere effetto. A questo punto , TestThreshold ha il valore MaxThreshold e qualsiasi utilizzo della memoria maggiore di OptimalUsage fa sì che TestThreshold sia minore di MaxThreshold.
MaximalUsage: quantità di utilizzo della memoria virtuale in base alla quale la limitazione della disidratazione è al massimo. A questo punto, TestThreshold ha il valore MinThreshold e qualsiasi utilizzo della memoria minore di MaximalUsage fa sì che TestThreshold sia maggiore di MinThreshold.
IsActive: valore booleano che indica se la limitazione della memoria virtuale è attiva.
PrivateMemoryThrottlingCriteria
Questa proprietà è un criterio utile per le limitazioni, ma i valori appropriati dipendono dall'esecuzione nel computer di altri servizi Windows. Se il computer dispone di una notevole quantità di memoria e non è condivisa con altri servizi Windows, è possibile incrementare tali valori in modo significativo.
Di seguito sono riportate le descrizioni delle singole proprietà PrivateMemoryThrottlingCriteria:
OptimalUsage: quantità di utilizzo della memoria privata, in MB, in cui la limitazione della disidratazione inizia a essere applicata. A questo punto TestThreshold ha il valore MaxThreshold e qualsiasi utilizzo della memoria maggiore di OptimalUsage fa sì che TestThreshold sia minore di MaxThreshold.
MaximalUsage: quantità di utilizzo della memoria privata, in MB, in cui la limitazione della disidratazione è al massimo. A questo punto TestThreshold ha il valore MinThreshold e qualsiasi utilizzo della memoria minore di MaximalUsage fa sì che TestThreshold sia maggiore di MinThreshold.
IsActive: valore booleano che indica se la limitazione della memoria privata è attiva.
PhysicalMemoryThrottlingCriteria
È disponibile anche una limitazione della memoria fisica per la quale i numeri vengono calcolati in base alla percentuale di memoria utilizzata, anziché in MB. Questa proprietà è disabilitata per impostazione predefinita, ma può essere abilitata.
Di seguito sono riportate le descrizioni delle singole proprietà PhysicalMemoryThrottlingCriteria:
OptimalUsage: percentuale ottimale di memoria fisica da usare per le istanze host.
MaximalUsage: percentuale massima di memoria fisica da usare per le istanze host.
IsActive: valore booleano che indica se la limitazione della memoria fisica è attiva.
Comportamento delle proprietà di disidratazione
BizTalk Server utilizza le proprietà di disidratazione per stabilire quando disidratare o reidratare le orchestrazioni. In condizioni di carico normali, i valori di disidratazione predefiniti sono sufficienti, tuttavia se il carico è elevato e si desidera modificare le caratteristiche delle prestazioni, è necessario eseguire direttamente la configurazione.
Il comportamento di disidratazione di BizTalk Server dipende interamente dalla quantità di memoria disponibile utilizzata. Il comportamento di disidratazione varia con quantità di memoria diverse e diversi utilizzi della memoria tra host a 32 bit e 64 bit.
Le proprietà di disidratazione operano una distinzione tra i byte privati e i byte virtuali per l'host dell'orchestrazione:
Byte virtuali. Si tratta delle dimensioni simultanee, in byte, dello spazio indirizzi virtuale usato dal processo. L'utilizzo dello spazio di indirizzi virtuali non comporta necessariamente l'utilizzo del disco o delle pagine della memoria principale. Poiché lo spazio virtuale è limitato, è possibile che il caricamento di librerie da parte del processo risulti limitato.
Byte privati. Indica la dimensione corrente, in byte, della memoria allocata dal processo che non può essere condivisa con altri processi.