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.
In questo argomento vengono fornite informazioni per la creazione di percorsi di ricezione, porte di ricezione e porte di trasmissione di BizTalk Server necessari per eseguire il codice di esempio descritto negli argomenti Passaggio 1: Creare uno unit test per inviare documenti a BizTalk Server e passaggio 3: Creare un test di carico per eseguire più unit test contemporaneamente.
Configurare l'ambiente BizTalk Server per i test di carico
Come descritto nell'argomento Passaggio 3: Creare un test di carico per eseguire più unit test contemporaneamente, il test di carico BTS_Messaging_Step è configurato per eseguire gli unit test BTSMessaging e BTSMessaging2. A sua volta, questi unit test caricano una copia del messaggio C:\Projects\LoadTest\BTSLoad\TestMessages\TestXmlDocument.xml e lo inviano agli endpoint BTSMessagingEP e BTSMessagingEP2 , come definito nella sezione seguente del file di configurazione dell'applicazione del progetto (app.config):
<-- BTSMessagingEP --><endpoint address="net.tcp://BizTalk Server Computer:8123/btsloadtest" binding="netTcpBinding" bindingConfiguration="netTcpBinding" contract="System.ServiceModel.Channels.IRequestChannel" name="BTSMessagingEP" /><endpoint address="net.tcp://BizTalk Server Computer:8123/btsloadtest" binding="netTcpBinding" bindingConfiguration="netTcpBinding" contract="System.ServiceModel.Channels.IRequestChannel" name="BTSMessagingEP2" />
Annotazioni
Come indicato in precedenza, Il computer BizTalk Server è un segnaposto per i nomi dei computer BizTalk Server effettivi o, nel caso in cui i computer BizTalk Server siano configurati come membri di un cluster bilanciamento del carico di rete; Il computer BizTalk Server è un segnaposto per il nome o l'indirizzo del server virtuale bilanciamento carico di rete corrispondente.
Ai fini di questo esempio, sono stati usati due computer BizTalk Server e il database di BizTalk Server Message Box si trovava in un computer SQL Server remoto.
Creare host di invio e ricezione di BizTalk Server
Seguire la procedura descritta nell'argomento Della documentazione di BizTalk Server Come creare un nuovo host per creare un host "Send" di BizTalk Server per i gestori di porte di trasmissione e adattatori di trasmissione. Configurare l'host con le proprietà seguenti:
| Proprietà | Valore |
|---|---|
| Nome | TxHost |
| TIPO | In-Process |
| Consenti rilevamento dell'host | Assicurarsi che questa casella non sia selezionata. |
| Autenticazione attendibile | Assicurarsi che questa casella non sia selezionata. |
| Solo a 32-bit | Assicurarsi che questa casella non sia selezionata. |
| Imposta l'host predefinito nel gruppo | Assicurarsi che questa casella non sia selezionata. |
| Gruppo di Windows | Gruppo di Windows utilizzato per controllare l'accesso a questo host e alle istanze host associate. Il gruppo Window creato per l'host in-process predefinito è denominato <Nome del computer>\Utenti dell'applicazione BizTalk (per un'installazione di BizTalk Server a server singolo) o <Nome del dominio>\Utenti delle applicazioni BizTalk (per un'installazione di BizTalk Server a più server, che richiede l'uso di gruppi di dominio).
Nota:<Il nome del computer> e <il nome di dominio> sono segnaposti per il nome effettivo del computer o il nome di dominio utilizzati al momento della creazione del gruppo. Se viene creato un nuovo gruppo per questo host, è necessario disporre dei privilegi descritti nell'argomento Gruppi host. |
Ripetere i passaggi seguiti durante la creazione dell'host "Invia" per creare un host "Receive". Configurare l'host "Receive" con i valori di proprietà seguenti:
| Proprietà | Valore |
|---|---|
| Nome | RxHost |
| TIPO | In-Process |
| Consenti il tracciamento dell'host | Assicurarsi che questa casella non sia selezionata. |
| Autenticazione attendibile | Assicurarsi che questa casella non sia selezionata. |
| Solo 32 bit | Assicurarsi che questa casella non sia selezionata. |
| Imposta come l'host predefinito nel gruppo | Assicurarsi che questa casella non sia selezionata. |
| Gruppo di Windows | Gruppo di Windows utilizzato per controllare l'accesso a questo host e alle istanze host associate. Il gruppo Windows creato per l'host in-process predefinito è denominato <Nome computer>\Utenti dell'applicazione BizTalk (per un'installazione di BizTalk Server a server singolo) o <Nome dominio>\Utenti delle applicazioni BizTalk (per un'installazione di BizTalk Server a più server, che richiede l'uso di gruppi di dominio).
Nota:<Nome del computer> e <Nome di dominio> sono segnaposti per i nomi effettivi del computer o del dominio utilizzati al momento della creazione del gruppo. Se viene creato un nuovo gruppo per questo host, è necessario disporre dei privilegi descritti nell'argomento Gruppi host. |
Creare istanze degli host di invio e ricezione di BizTalk Server
Seguire la procedura descritta nell'argomento Della documentazione di BizTalk Server Come aggiungere un'istanza host per creare e avviare istanze dell'host "Send" di BizTalk Server. Configurare un'istanza dell'host "Send" per l'esecuzione in ogni BizTalk Server nel gruppo BizTalk Server e configurare ogni istanza host con i valori delle proprietà seguenti:
| Proprietà | Valore |
|---|---|
| nome dell'host | Selezionare TxHost nell'elenco a discesa accanto a Nome host. |
| Server | Selezionare il BizTalk Server dall'elenco a discesa accanto a Server che eseguirà l'istanza di questo host. |
| Accesso | 1. Fare clic sul pulsante Configura per visualizzare la finestra di dialogo Credenziali di accesso. 2. Nella finestra di dialogo Credenziali di accesso immettere i valori seguenti per le proprietà specificate: Proprietà Accesso: nome dell'account utente che è membro del gruppo di Windows associato all'host BizTalk Server. Password: password per l'account utente specificato nella casella di testo Accesso . 3. Fare clic su OK per chiudere la finestra di dialogo Credenziali di accesso. |
| Disabilitare l'avvio dell'istanza host. | Assicurarsi che questa casella non sia selezionata. |
Dopo aver creato l'istanza host, fare clic con il pulsante destro del mouse sull'istanza host e scegliere Avvia dal menu di scelta rapida.
Ripetere i passaggi seguiti durante la creazione delle istanze host "Invia" per creare istanze host "Receive". Configurare un'istanza dell'host "Receive" per l'esecuzione in ogni BizTalk Server nel gruppo BizTalk Server e configurare ogni istanza host con i valori di proprietà seguenti:
| Proprietà | Valore |
|---|---|
| Nome host | Selezionare RxHost nell'elenco a discesa accanto a Nome host. |
| Servidor | Selezionare il BizTalk Server che eseguirà questa istanza dell'host dall'elenco a discesa accanto a Server. |
| Accesso | 1. Fare clic sul pulsante Configura per visualizzare la finestra di dialogo Credenziali di accesso. 2. Nella finestra di dialogo Credenziali di accesso immettere i valori seguenti per le proprietà specificate: Proprietà Accesso: nome dell'account utente che è membro del gruppo di Windows associato all'host BizTalk Server. Password: password per l'account utente specificato nella casella di testo Accesso . 3. Fare clic su OK per chiudere la finestra di dialogo Credenziali di accesso. |
| Disabilitare l'avvio dell'istanza host | Assicurarsi che questa casella non sia selezionata. |
Dopo aver creato l'istanza host, fare clic con il pulsante destro del mouse sull'istanza host e scegliere Avvia dal menu di scelta rapida.
Creare una porta di ricezione BizTalk Server
Seguire la procedura descritta nell'argomento How to Create a Receive Port (Come creare una porta di ricezione ) nella documentazione di BizTalk Server per creare una porta di ricezione One-Way. Quando si crea la porta di ricezione, lasciare tutte le proprietà ai valori predefiniti, ad eccezione di quanto indicato nella tabella seguente:
| Proprietà | Valore |
|---|---|
| Generale\Name | BTSLoadTestMessaging.OneWay.PortaRicezione |
| Generale\Tipo di Porta | One-Way |
| Generale\Autenticazione | Nessuna autenticazione |
| Generale\Abilitare il routing per i messaggi non riusciti | Assicurarsi che questa casella non sia selezionata. |
| Generale\Descrizione | Lasciare vuoto |
| Mappe in ingresso | Nessuno |
| Tracciamento | Assicurarsi che tutte le caselle siano deselezionate. |
| Posizioni di ricezione | Fare clic su Nuovo. Verrà visualizzata la finestra di dialogo Proprietà percorso di ricezione che deve essere configurata come descritto nella sezione seguente Creare un percorso di ricezione BizTalk Server. |
Creare un punto di ricezione di BizTalk Server
Nella finestra di dialogo Proprietà percorso di ricezione visualizzata durante la creazione della porta di ricezione del BizTalk Server, applicare i valori di proprietà specificati.
| Proprietà | Valore |
|---|---|
| Nome: | BTSLoadTest.Messaging.OneWay.WCF-Customer.ReceiveLocation |
| Gestore di ricezione: | RxHost |
| Pipeline di ricezione: | PassThruReceive |
| Descrizione: | Lasciare vuoto questo campo |
| Tipo: | Selezionare WCF-Custom nell'elenco a discesa e quindi fare clic sul pulsante Configura . Verrà visualizzata la finestra di dialogo Proprietà trasportoWCF-Custom che deve essere configurata come descritto nella sezione seguente , Configurare il trasporto di ricezione WCF-Custom. |
Configurare il trasporto di ricezione WCF-Custom
Nella finestra di dialogo Proprietà trasportoWCF-Custom visualizzata durante la creazione del percorso di ricezione di BizTalk Server, lasciare tutte le proprietà ai valori predefiniti, ad eccezione di quanto indicato nella tabella sottostante:
| Proprietà | Valore |
|---|---|
| Generale\Indirizzo (URI) | net.tcp://localhost:8123/btsloadtest |
| Binding\Tipo di associazione | netTcpbinding |
| Binding\NetTcpBindingElement\listenBacklog | 400 |
| Binding\NetTcpBindingElement\maxConnections | 400 |
| Binding\Security\NetTcpSecurityElement\mode | Nessuno |
| Comportamento\ServiceBehavior\serviceThrottling\ServiceThrottlingElement Nota: per aggiungere il comportamento serviceThrottling all'elenco dei comportamenti, fare clic con il pulsante destro del mouse su ServiceBehavior, scegliere Aggiungi estensione, selezionare serviceThrottling dall'elenco delle estensioni del comportamento e quindi fare clic su OK. | Impostare le proprietà ServiceThrottlingElement sui valori seguenti: - maxConcurrentCalls 400 - maxConcurrentInstances 400 - maxConcurrentSessions 400 |
| Comportamento\ServiceBehavior\serviceDebug\ServiceDebugElement Nota: per aggiungere il comportamento serviceDebug all'elenco dei comportamenti, fare clic con il pulsante destro del mouse su ServiceBehavior, scegliere Aggiungi estensione, selezionare serviceDebug dall'elenco di estensioni del comportamento e quindi fare clic su OK. | Lasciare l'elenco delle proprietà ServiceDebugElement con i valori predefiniti (vuoti), ad eccezione delle proprietà seguenti, che devono essere modificate in un valore True: - httpHelpPageEnabled Vero - httpsHelpPageEnabled True - includeExceptionDetailInFaults True |
Fare clic su OK per chiudere la finestra di dialogo Proprietà trasporto WCF-Custom e quindi fare clic su OK di nuovo per chiudere la finestra di dialogo Proprietà Percorso Ricezione.
Creare una porta di trasmissione di BizTalk Server
Seguire la procedura descritta nell'argomento How to Create a Send Port (Come creare una porta di trasmissione ) nella documentazione di BizTalk Server per creare una porta di trasmissione unidirezionale statica . Quando si crea la porta di trasmissione, lasciare tutte le proprietà ai valori predefiniti, ad eccezione di quanto indicato nella tabella seguente:
| Proprietà | Valore |
|---|---|
| Generale\Nome | BTSLoadTest.Messaging.Send.WCF-Custom |
| Gestore Generale\Invia | TxHost |
| Generale\Pipeline di invio | PassThruTransmit |
| Filtri\Nome | BTS.ReceivePortName |
| Filtri\Operatore | == |
| Filtri\Valore | BTSLoadTest.Messaging.OneWay.ReceivePort |
| Filtri\Raggruppa per | Nota : se queste proprietà sono configurate con i valori corretti, il filtro deve essere visualizzato come BTS.ReceivePortName == BTSLoadTest.Messaging.OneWay.ReceivePort nella parte inferiore della pagina Filtri della finestra di dialogo delle proprietà della porta di invio. In seguito all'applicazione di questo filtro, questa porta di trasmissione sottoscrive tutti i messaggi ricevuti da BizTalk Server tramite la porta di ricezione denominata BTSLoadTest.Messaging.OneWay.ReceivePort. |
| Tracciamento | Assicurarsi che tutte le caselle siano deselezionate. |
| Generale\Tipo | Selezionare WCF-Custom nell'elenco a discesa e quindi fare clic sul pulsante Configura . Verrà visualizzata la finestra di dialogo Proprietà trasportoWCF-Custom che deve essere configurata come descritto nella sezione seguente Configurare il trasporto di invio WCF-Custom. |
Configurare il trasporto di invio dati WCF-Custom
Nella finestra di dialogo proprietà trasportoWCF-Custom visualizzata durante la creazione della porta di trasmissione di BizTalk Server lasciare tutte le proprietà con valori predefiniti tranne quanto indicato nella tabella seguente:
| Proprietà | Valore |
|---|---|
| Generale\Indirizzo (URI) | net.tcp://<Nome computer>:2001/TCP1 Importante:<Nome computer> è un segnaposto per il reale nome del computer che ospita IndigoService.exe, progettato per elaborare i messaggi inviati tramite WCF. Poiché IndigoService.exe richiede pochissime risorse, è spesso perfettamente accettabile eseguire IndigoService.exe nel computer SQL Server usato per i database del gruppo di BizTalk Server. |
| Binding\Tipo di associazione | customBinding |
Come per la maggior parte dei tipi di associazione WCF-Custom, il tipo di associazione customBinding espone diverse proprietà, che devono essere impostate sui valori seguenti:
Nella sezione Binding è presente una proprietà CustomBindingElement con una sezione Configuration associata. Lasciare tutti i valori nella sezione Configuration per la proprietà CustomBindingElement in base ai valori predefiniti.
Quindi in CustomBindingElement fare clic con il pulsante destro del mouse su textMessageEncoding e scegliere Rimuovi estensione (Del). Analogamente, fare clic con il pulsante destro del mouse su httpTransport e scegliere Rimuovi estensione (Del).
Ora fare clic con il pulsante destro del mouse su CustomBindingElement e selezionare Aggiungi estensione Ins per visualizzare la finestra di dialogo Seleziona l'estensione dell'elemento di associazione.
Selezionare binaryMessageEncoding e fare clic su OK per aggiungere l'estensione dell'elemento binaryMessageEncoding . Ripetere i passaggi per visualizzare la finestra di dialogo Seleziona estensione elemento binding e scorrere verso il basso l'elenco delle estensioni degli elementi disponibili fino a visualizzare l'estensione dell'elemento tcpTransport , selezionare tcpTransport e fare clic su OK.
In CustomBindingElement selezionare l'elemento tcpTransport e nella sezione Configuration per tcpTransport lasciare tutte le proprietà in valori predefiniti tranne quanto indicato nella tabella seguente:
Proprietà Valore connectionBufferSize 2097152 maxBufferSize 2097152 maxPendingAccepts 400 maxPendingConnections 400 listenBacklog 400 dimensione massima del pool di buffer 2097152 maxReceivedMessageSize 2097152 Nell'elemento tcpTransport selezionare l'elemento ConnectionPoolSettings e lasciare tutte le proprietà ai valori predefiniti, ad eccezione della proprietà maxOutboundConnectionsPerEndpoint , che deve essere modificata in un valore pari a 400.
Fare clic su OK per chiudere la finestra di dialogo Proprietà trasporto WCF-Custom, quindi fare di nuovo clic su OK per chiudere BTSLoadTest.Messaging.Send.WCF-Custom : finestra di dialogo Proprietà porta di trasmissione.
Configurare un computer per l'utilizzo di messaggi inviati dalla porta di trasmissione di BizTalk Server
Come descritto in precedenza, il IndigoService.exe è progettato per utilizzare i messaggi inviati tramite WCF. Include i 4 file seguenti e devono trovarsi nel computer che si vuole eseguire IndigoService.exe:
\IndigoService\bin\Release\IndigoService.exe
\IndigoService\bin\Release\IndigoService.exe.config
\IndigoService\bin\Release\Response.xml
\IndigoService\bin\Release\StartIndigoService.bat
Avviare quindi IndigoService.exe facendo doppio clic su StartIndigoService.bat. IndigoService.exe utilizza i messaggi inviati all'endpoint specificato nel file IndigoService.exe.config:
<endpoint address="net.tcp://localhost:2001/TCP1" binding="netTcpBinding" bindingConfiguration="Binding1" name="endpoint1" contract="IndigoService.IServiceTwoWaysVoidNonTransactional" />
Ecco perché l'indirizzo della porta di trasmissione è configurato con un Indirizzo (URI) di net.tcp://<Nome del Computer>:2001/TCP1
Poiché IndigoService.exe richiede pochissime risorse, spesso è perfettamente accettabile eseguire IndigoService.exe nel computer SQL Server usato per i database BizTalk Server.
Disabilitare il rilevamento e la limitazione per il gruppo BizTalk Server
Per determinare la velocità massima assoluta sostenibile del sistema, sia il tracciamento dei messaggi che il throttling devono essere disabilitati prima di iniziare la prova di carico. Questa operazione può essere eseguita usando la console di amministrazione di BizTalk Server seguendo questa procedura:
Avviare la console di amministrazione di BizTalk Server. Fare clic su Start, scegliere Tutti i programmi, BizTalk Server 2010 e quindi fare clic su Amministrazione bizTalk Server.
In Amministrazione bizTalk Server selezionare il gruppo BizTalk, se è elencato o se non è elencato, fare clic con il pulsante destro del mouse su Amministrazione bizTalk Server, selezionare Connetti al gruppo esistente, immettere il nome di SQL Server che ospita il database di gestione BizTalk Server del gruppo BizTalk accanto al nome di SQL Server: immettere il nome del nome del database di gestione del gruppo BizTalk accanto al nome del database : e quindi fare clic su OK.
Fare clic con il pulsante destro del mouse sul nodo Gruppo BizTalk e selezionare Impostazioni per visualizzare il dashboard delle impostazioni BizTalk.
Fare clic per selezionare Host nel riquadro sinistro del dashboard delle impostazioni BizTalk.
Fare clic sull'elenco a discesa accanto a Host per selezionare uno degli host che verranno usati durante il test delle prestazioni.
Lasciare le proprietà ai valori predefiniti, ad eccezione di quanto indicato nella tabella seguente:
Proprietà Valore Generale\Spostare i dati di rilevamento nel database DTA Deselezionare questa casella se selezionata. Solo generale\a 32 bit Deselezionare questa casella se selezionata. Generale\Intervalli di polling\Messaggistica Impostare su un valore pari a 200000000 Generale\Intervalli di polling\Orchestrazioni Impostare su un valore pari a 200000000 Resource-Based Controllo-Messaggi in-process Impostare su un valore pari a 10000 Resource-Based Rallentamento\Dimensione interna della coda dei messaggi Impostare su un valore pari a 10000 Resource-Based Limitazione\Conteggio messaggi nel database Impostare su un valore pari a 0 Resource-Based Limitazione\Utilizzo memoria\Processo virtuale Impostare su un valore pari a 0 Rate-Based Limitazione\Pubblicazione\Override della limitazione Impostare su Non limitare Rate-Based Limitazione\Recapito\Esclusione della limitazione Impostare su Non limitare Ripetere il processo descritto nel passaggio 6 per ogni host che verrà usato durante il corso dei test delle prestazioni.
Fare clic per selezionare Istanze host nel riquadro a sinistra del Dashboard Impostazioni BizTalk.
Fare clic sull'elenco a discesa accanto a Istanza host: per selezionare una delle istanze host che verranno usate per i test delle prestazioni.
Lasciare i valori delle proprietà nella loro impostazione predefinita, eccetto per modificare i thread di lavoro Maximum worker threads a un valore di 100 e modificare i Minimum worker threads su 25.
Ripetere il processo descritto nel passaggio 10 per ogni istanza host che verrà usata durante il corso dei test delle prestazioni.
Anche se la disabilitazione del rilevamento e della limitazione non rappresenta in alcun modo ciò che deve essere fatto in uno scenario di produzione, perché queste operazioni sono così costose dal punto di vista delle prestazioni, è opportuno disabilitarle per individuare la vera velocità effettiva massima sostenibile (MST) di un ambiente BizTalk Server. Ciò consente ai tester di vedere chiaramente l'impatto di eventuali modifiche alle prestazioni applicate all'ambiente. Certamente un argomento potrebbe essere fatto che il rilevamento non deve essere disabilitato e se si sa fin dall'inizio che l'applicazione BizTalk Server richiederà il rilevamento, è necessario abilitare il rilevamento. Detto questo, si dovrebbe fare ogni sforzo per disabilitare la limitazione ai fini dei test delle prestazioni. La regolazione è molto utile per impedire a BizTalk Server di bloccarsi per via di un carico eccessivo in un ambiente di produzione. Tuttavia, non si vuole abilitare la limitazione durante i test delle prestazioni perché è costoso dal punto di vista delle prestazioni e perché se la limitazione viene attivata durante un test di carico, si avrà un tempo molto difficile per determinare il livello di prestazioni che l'applicazione BizTalk Server può effettivamente ottenere. Negli argomenti successivi viene descritto come eseguire il test di carico a gradini per spingere l'ambiente BizTalk Server oltre il MST e quindi ridimensionare l'ambiente al livello effettivo di MST con test di carico costante. Se la limitazione è abilitata, diventa quasi impossibile spingere l'ambiente BizTalk oltre il limite MST, rendendo molto difficile scoprire infine qual è il vero MST.