Our NServiceBus system fell behind this week (by 300,000 messages).
We currently process about 4 messages per second, so the catch up time was too long.
In an attempt to speed things up, we added more objects to each NServiceBus message (20 per message).
Normally we would only put more than one object in the message if it needed to be processed together.
But this change gave us significant performance improvements (we process around 8 messages per second now). We attribute this to less handshaking between the NServiceBus workers and the Distributor.
But now we have found a problem with this great solution. When a message fails, all 20 objects head to the error queue. When really only one or two of them have issues.
We need a way to break up those messages and try them again. Is there an option on the ReturnToSourceQueue.exe that could do that?