Panoramica dello scenario
In questo argomento viene fornita una panoramica dei test di carico completati dal gruppo di prodotti BizTalk Server per valutare la scalabilità di BizTalk Server durante l'esecuzione su hardware della classe enterprise moderna.
Tutti i test sono stati eseguiti in un ambiente isolato usando hardware dedicato. Oltre 200 esecuzioni di test sono state eseguite e tutti i risultati sono stati convalidati dal gruppo di prodotti BizTalk Server.
I test sono stati eseguiti usando uno scenario di messaggistica e uno scenario di orchestrazione; entrambi gli scenari hanno usato l'adapter di WCF-NetTcp BizTalk.
Per valutare le prestazioni massime possibili del motore di BizTalk Server, non sono stati usati componenti della pipeline personalizzati e solo una singola orchestrazione molto semplice è stata usata per lo scenario di orchestrazione. Le ottimizzazioni delle prestazioni descritte in Ottimizzazione delle prestazioni sono state applicate all'ambiente e sono completamente documentate in Osservazioni e raccomandazioni.
Obiettivi di test
Gli obiettivi dei test di carico eseguiti includevano quanto segue:
Fornire indicazioni generali sul ridimensionamento e sulla scalabilità per BizTalk Server:
Quantificare l'impatto dell'aggiunta di computer aggiuntivi al gruppo di BizTalk Server. Per questo test, le prestazioni di una soluzione BizTalk Server sono state misurate quando il gruppo di BizTalk Server è in esecuzione uno, due, tre e quattro computer che eseguono BizTalk Server.
Quantificare l'impatto dell'aggiunta di database BizTalk MessageBox aggiuntivi a un gruppo di BizTalk Server. Per questo test, le prestazioni di una soluzione BizTalk Server sono state misurate quando il gruppo è stato configurato per l'uso di un singolo database MessageBox o di quattro database MessageBox.
Nota
Il test con due database MessageBox non è stato eseguito perché è presente poco, se presente, un vantaggio sulle prestazioni durante il ridimensionamento da uno a due database MessageBox. Il ridimensionamento da uno a due database MessageBox può influire negativamente sulle prestazioni. Per altre informazioni sulla scalabilità orizzontale di MessageBox, vedere Ridimensionamento del livello di SQL Server.
Fornire indicazioni per il ridimensionamento e la scalabilità per gli scenari seguenti:
WCF-NetTcp scenario di messaggistica unidirezionale
WCF-NetTcp scenario di orchestrazione unidirezionale
Misurazioni di test usate
BizTalk Server le prestazioni sono state misurate usando i criteri seguenti:
Velocità effettiva complessiva : misurata con i contatori delle prestazioni BizTalk:Messaging(hostname)\Documents ricevuti/Sec e BizTalk:Messaging(hostname)\Documentselaborati/Sec per gli host di ricezione ed elaborazione BizTalk Server.
Utilizzo della CPU: misurato con i contatori delle prestazioni \Processor(_Total)\%Processor Time nei computer BizTalk Server] e SQL Server. Tutti i risultati dei test sono stati esaminati in modo completo e tutti i colli di bottiglia delle prestazioni sono descritti in Osservazioni e raccomandazioni.
Ridimensionamento del livello di elaborazione e del livello di database
BizTalk Server consente di aumentare le funzionalità del livello di elaborazione aggiungendo uno o più computer BizTalk Server a un gruppo di BizTalk Server esistente. BizTalk Server consente di aumentare le funzionalità del livello di database tramite l'aggiunta di database MessageBox.
Per fornire metriche di scalabilità orizzontale per BizTalk Server, i test sono stati eseguiti con computer uno, due, tre e quattroBizTalk Server. Per illustrare l'impatto del ridimensionamento del livello di database, questi test sono stati eseguiti su sistemi single e multi-MessageBox.
Scenari di test
Il flusso di messaggi attraverso l'ambiente di BizTalk Server per questi scenari è descritto in dettaglio di seguito.
Scenario di test di messaggistica
La funzionalità di test del carico di Visual Studio 2010 Ultimate edition genera un messaggio XML e lo invia al computer che esegue BizTalk Server con il trasporto NetTcp.
Nota
Per altre informazioni sui test di carico di Visual Studio 2010 Ultimate Edition, vedere HYPERLINK "" Testing the Application (https://go.microsoft.com/fwlink/?LinkID=208247).
Per altre informazioni su come è stata usata la funzionalità di test di carico di Visual Studio 2010 Ultimate Edition nell'ambiente di test, vedere Uso di Visual Studio per facilitare i test automatizzati.
Il messaggio XML viene ricevuto da un BizTalk Server percorso di ricezione che usa l'adattatore di ricezione WCF-NetTcp. Il percorso di ricezione è configurato per usare la pipeline PassThruReceive, che non esegue alcuna elaborazione del messaggio.
Il BizTalk Server gestione del punto finale (EPM) pubblica il messaggio nel database BizTalk MessageBox.
Una porta di invio BizTalk Server che usa l'adattatore di invio WCF-NetTcp sottoscrive i messaggi pubblicati dal percorso di ricezione e recupera il messaggio da BizTalk MessageBox. La porta di invio usa la pipeline PassThruTransmit, che non esegue alcuna elaborazione del messaggio.
Il messaggio viene recapitato al servizio WCF back-end dalla scheda di trasmissione WCF-NetTcp.
Scenario di test di orchestrazione
di
La funzionalità di test del carico di Visual Studio 2010 Ultimate edition genera un messaggio XML e la invia al computer che esegue BizTalk Server usando il trasporto NetTcp.
Il messaggio XML viene ricevuto da una porta di ricezione BizTalk Server che usa l'adattatore di ricezione WCF-NetTcp. La porta di ricezione è configurata per usare la pipeline PassThruReceive, che non esegue alcuna elaborazione del messaggio.
Il messaggio viene recapitato a una semplice orchestrazione, costituita solo da una porta di ricezione (associata alla porta di ricezione WCF dal passaggio 2) e da una porta di invio (associata alla porta di trasmissione WCF dal passaggio 4). Le variabili di messaggio sono "non digitate", ovvero usano un "Tipo di messaggio" di "System.XML". XmlDocument". L'orchestrazione riceve solo il messaggio tramite la porta di ricezione e invia il messaggio tramite la porta di invio. Non viene eseguita alcuna elaborazione dei messaggi.
Una porta di trasmissione unidirezionale BizTalk Server che usa l'adattatore di invio WCF-NetTcp sottoscrive i messaggi pubblicati dall'orchestrazione e recupera il messaggio da BizTalk MessageBox. La porta di invio usa la pipeline PassThruTransmit, che non esegue alcuna elaborazione del messaggio.
Il messaggio viene recapitato al servizio WCF back-end dalla scheda di trasmissione WCF-NetTcp.
Configurazione hardware
Diagramma e specifiche dell'hardware del lab
La configurazione hardware usata per il lab è illustrata di seguito. Per soddisfare facilmente la scalabilità orizzontale dei livelli di elaborazione e di database, è stato usato l'hardware del lab seguente:
Due computer di classe Enterprise Hewlett Packard DL-380 e due computer Dell R710 di classe Enterprise per il livello di elaborazione BizTalk Server.
Quattro computer Dell R900 della classe Enterprise per il livello di database, per offrire funzionalità multi-MessageBox.
Di seguito è riportato un diagramma dell'hardware usato nel lab:
Nella tabella seguente vengono fornite informazioni più specifiche sull'hardware usato nel lab.
Nome | Modello | Tipo di CPU | Numero di CPU | Numero di core/CPU | Architettura della CPU | Memoria | Sistema operativo | Software |
---|---|---|---|---|---|---|---|---|
R710-01 | Dell PowerEdge R710 | Intel Xeon X5570 | 2 x 2,93 GHz | 4 | x64 | 72 GB | Windows Server 2008 R2 Enterprise Edition | BizTalk Server |
R710-02 | Dell PowerEdge R710 | Intel Xeon X5570 | 2 x 2,93 GHz | 4 | x64 | 72 GB | Windows Server 2008 R2 Enterprise Edition | BizTalk Server |
DL380G7-01 | Hewlett Packard DL380 G7 | Intel Xeon X5670 | 2 x 2,93 GHz | 6 | x64 | 192 GB | Windows Server 2008 R2 Enterprise Edition | BizTalk Server |
DL380G7-02 | Hewlett Packard DL380 G7 | Intel Xeon X5670 | 2 x 2,93 GHz | 6 | x64 | 192 GB | Windows Server 2008 R2 Enterprise Edition | BizTalk Server |
DL380-01 | Hewlett Packard DL380 | Intel Xeon 5150 | 2 x 2,66 GHz | 2 | x64 | 8 GB | Windows Server 2008 R2 Enterprise Edition | database di test di carico di SQL Server 2008 R2 Visual Studio 2010 Servizio back-end WCF |
DL380-02 | Hewlett Packard DL380 | Intel Xeon E5335 | 2 x 2,00 GHz | 4 | x64 | 8 GB | Windows Server 2008 R2 Enterprise Edition | Visual Studio 2010 Load Test Controller |
DL380-03 | Hewlett Packard DL380 | Intel Xeon E5335 | 2 x 2,00 GHz | 4 | x64 | 8 GB | Windows Server 2008 R2 Enterprise Edition | Agente di test di carico di Visual Studio 2010 |
DL380-04 | Hewlett Packard DL380 | Intel Xeon E5335 | 2 x 2,00 GHz | 4 | x64 | 8 GB | Windows Server 2008 R2 Enterprise Edition | Agente di test di carico di Visual Studio 2010. Riga di comando perfmon |
R805-06 | Dell PowerEdge R805 | AMD Quad-Core Opteron 2354 | 2 x 2,2 GHz | 4 | x64 | 32 GB | Windows Server 2008 R2 Enterprise Edition | Agente di test di carico di Visual Studio 2010 |
R805-07 | Dell PowerEdge R805 | AMD Quad-Core Opteron 2354 | 2 x 2,2 GHz | 4 | x64 | 32 GB | Windows Server 2008 R2 Enterprise Edition | Agente di test di carico di Visual Studio 2010 |
R900-03 | Dell PowerEdge R900 | Intel Xeon E7330 | 4 x 2,4 GHz | 4 | x64 | 64 GB | Windows Server 2008 R2 Enterprise Edition | SQL Server 2008 R2 con aggiornamento cumulativo 4 |
R900-04 | Dell PowerEdge R900 | Intel Xeon E7330 | 4 x 2,4 GHz | 4 | x64 | 64 GB | Windows Server 2008 R2 Enterprise Edition | SQL Server 2008 R2 con aggiornamento cumulativo 4 |
R900-05 | Dell PowerEdge R900 | Intel Xeon E7330 | 4 x 2,4 GHz | 4 | x64 | 64 GB | Windows Server 2008 R2 Enterprise Edition | SQL Server 2008 R2 con aggiornamento cumulativo 4 |
R900-06 | Dell PowerEdge R900 | Intel Xeon E7330 | 4 x 2,4 GHz | 4 | x64 | 64 GB | Windows Server 2008 R2 Enterprise Edition | SQL Server 2008 R2 con aggiornamento cumulativo 4 |
Configurazione della rete dell'area di archiviazione
Il diagramma seguente illustra la configurazione della rete di archiviazione (SAN) usata per l'ambiente lab.
Configurazione SAN EMC CLARiiON CX4-960
Informazioni sul processore di servizi e sulla cache | Configurazione LUN |
---|---|
Due processori di servizio, ognuno con: - Dimensioni cache di lettura: 2000 MB. - Dimensioni cache di scrittura: 8000 MB. - Due porte front-end collegate al commutatore fiber. 4 Gbps per porta. |
- 64 dischi (268 GB, 15K RPM, Fiber Channel, Seagate. - Otto gruppi RAID da 8 dischi 1+0 creati da questi 64 dischi. - A ogni server di database sono stati assegnati 5 metaLUN configurati in modo uniforme da questi gruppi RAID. |
È importante determinare la velocità effettiva massima raggiungibile di una SAN e confrontare questo valore con il carico previsto rispetto alla SAN in produzione. Ciò consentirà di evitare spese impreviste per l'hardware correlato alla SAN durante lo spostamento dell'applicazione da un ambiente di test/controllo qualità (QA) in un ambiente di produzione. Ad esempio, la velocità effettiva massima disponibile per la rete SAN può essere più che sufficiente per l'applicazione in un ambiente di test in modalità sandbox. Tuttavia, se altre applicazioni server useranno la san nell'ambiente di produzione, la velocità effettiva SAN disponibile potrebbe essere insufficiente e potrebbe diventare un collo di bottiglia.
Quando si valutano le prestazioni della san, tenere presente quanto segue:
Qual è la velocità effettiva massima raggiungibile della SAN? : viene misurato usando il denominatore comune più basso, in termini di velocità effettiva, della scheda bus host (HBA) nel server, della velocità effettiva Switch-SAN e della velocità delle schede controller SAN.
Quali altre applicazioni useranno la san nell'ambiente di produzione? – Considerare quali altre applicazioni useranno la SAN nell'ambiente di produzione. Se in altri database o in caso contrario applicazioni a elevato utilizzo di I/O, ad esempio Exchange Server userà la rete SAN nell'ambiente di produzione, la quantità di velocità effettiva SAN disponibile per il computer che esegue BizTalk Server verrà ridotta di conseguenza.
Per l'ambiente lab è stata usata una SAN dedicata. Ognuno dei quattro computer SQL Server è stato connesso al commutatore SAN con due schede bus host a 4 Gbps (HBA), fornendo una velocità effettiva totale di 8 Gbps per server. La SAN aveva due processori di servizio e ogni processore di servizi aveva due porte front-end collegate al commutatore fiber, fornendo una velocità effettiva totale di 16 Gbps tra la SAN e il commutatore.
La configurazione LUN seguente è stata usata per ognuno dei quattro computer che eseguono SQL Server nell'ambiente di test.
Lettera unità | Nome del volume | File | Dimensioni LUN (GB) |
---|---|---|---|
C | Unità C locale | MASTER, MSDB e MODEL | 136 |
H | Data_Tempdb | File di dati TempDB | 50 |
I | Logs_Tempdb | File di log tempDB | 50 |
J | Data_BtsMsgBox | File di dati MsgBoxDB bizTalk + (in MsgBox master) Mgmt DB, SSO DB, file di dati DTA DB | 120 |
K | Logs_BtsMsgBox | File di log di BizTalk MsgBoxDB + (in MsgBox master) Mgmt DB, SSO DB, file di log DTA DB | 120 |
O | Logs_Spare | Non usato per i file SQL. Usato per archiviare il file DTCLog, poiché MSDTC causa frequenti operazioni di I/O su disco, in particolare in un ambiente multi-MessageBox. | 20 |
Risultati dei test di SQLIO
È stato usato lo strumento SQLIO per eseguire il benchmark e misurare la capacità di input/output della configurazione della rete di archiviazione (SAN) usata nell'ambiente lab. Come suggerisce il nome dello strumento, SQLIO è uno strumento prezioso per misurare l'impatto dell'I/O del file system sulle prestazioni SQL Server.
Per misurare la capacità di input/output della configurazione della rete di archiviazione (SAN) per le applicazioni di database SQL Server, vedere Analisi delle caratteristiche di I/O e ridimensionamento dei sistemi di archiviazione per le applicazioni di database SQL Server.
Per il test DI SQLIO, l'utilità sqlio.exe genera richieste di lettura 8K da 8 thread e mantiene una profondità di coda di I/O pari a 8. Sono stati usati i parametri seguenti:
Tutti i test hanno usato 8 thread di elaborazione, ognuno in esecuzione per 60 secondi.
Scritture casuali di 8 KB nei file di dati.
Letture casuali di 8 KB nei file di dati.
Tutti i file vengono ridimensionati a 25 GB.
Le unità disco di cui eseguire il benchmark sono H:, I:, J:e K.
Le righe di comando SQLIO usate sono le seguenti:
Per le letture: sqlio -kR -s60 -frandom -o8 -t8 -b8 -LS -FParam.txt
Per le scritture: sqlio -kW -s60 -frandom -o8 -t8 -b8 -LS -FParam.txt
Il file Param.txt contiene quanto segue:
Numero di unità: H:,I:,J:, e K
Percorso fisico dei file di test:
H:\testfile.dat 2 0x0 25000
I:\testfile.dat 2 0x0 25000
J:\testfile.dat 2 0x0 25000
K:\testfile.dat 2 0x0 25000
Nella tabella seguente sono elencati i risultati del test:
8 KB letture casuali da 25 GB di file di test contemporaneamente su LUN H:, I:, J:, K: (lun usati per tutti i file di database)
Operazioni di input/output al secondo (I/O al secondo) Megabyte al secondo (MB/sec) Latenza media 10662.67 83.30 5 ms 8 KB scritture casuali in 25 GB di file di test contemporaneamente su LUN H:, I:, J:, K: (lun usati per tutti i file di database)
Operazioni di input/output al secondo (I/O al secondo) Megabyte al secondo (MB/sec) Latenza media 31527.95 246.31 1 ms
Vedere anche
Ridimensionamento di un ambiente di produzione BizTalk Server