2013-09-25 37 views
5

Stiamo lottando per ottenere una buona prestazione da NServiceBus 4.0.4 con MSMQ. Sperimentiamo che quando i messaggi arrivano a una velocità lenta a circa 40-50 messaggi al secondo ogni cosa funziona bene e il nostro gestore è in grado di mantenere la coda vuota.Le code di messaggi di NServiceBus si accumulano

Aumentando la velocità del messaggio a 400 messaggi come una seconda media, il gestore non può più tenere il passo. I nostri gestori sono solo un gestore vuoto senza alcuna logica a questo punto. Sembrano forse coprire circa 300 messaggi su una media di 400 al secondo, e la coda del messaggio aumenta lentamente.

E qui è dove faccio davvero fatica a capire cosa succede. Se poi aumentassi ulteriormente fino al messaggio 1500 -2000 al secondo, i gestori avanzano il gioco e gestiscono quasi 1500 messaggi al secondo, la coda continua a essere generata ma non con la quantità aggiuntiva di messaggi.

abbiamo cercato di giocherellare con NumberOfWorkerThreads (On/Off e 0- 100), MaxRetries (On/Off e 0- 100), MaximumConcurrencyLevel (On/Off e 0- 100), MaximumMessageThroughputPerSecond (On/Off e 0 - 10000) e IsTransitional (On/Off) Nulla sembra influenzare questo comportamento.

Siamo in grado di inviare migliaia di messaggi, ma non di gestirli, anche se la gestione di oggi li sta prelevando dalla coda e buttandoli via.

Qualcuno sa di cosa può derivare o ha qualche buon consiglio su come possiamo aumentare le prestazioni del nostro autobus?

+0

Suppongo tu abbia una licenza illimitata? –

+1

Al momento del checkout del repository dovrebbero esserci test perd. Potresti gestirli e riferire? –

+0

@DanielMarbach significa test "perf". –

risposta

0

Durante il test di questo problema ho testato runneing il processo senza debugger da VS studio. Si scopre che per qualche motivo la mia installazione di debugger collegato VS2013 comunque.

Quando ho disconnesso debbugger ho ancora avuto qualche connessione con il processo NServiceBus.host. L'esecuzione dell'application al di fuori di VS ha velocizzato tutto in modo substante, e quindi ha risolto questo problema per me. Ho quindi reinstallato VS, e anche i problemi si sono verificati.

scusate per l'inconveniente.