I'm not sure exactly what you're doing to take so long, but here's how I would do this.
1. Create an IBM MQ Send Receive step. Set the think time to 0, disable the PUT side, and configure the GET side like this:
- Queue: your queue
- Timeout: 1
- Poll Period: 1
- Scope: Model
This ensures that it won't have to reestablish the connection for every message, and it will wait no more than one second to determine the queue is empty.
2. Loop the step back to itself, and right click the 'If Timeout' transition and select the next step or end the test. This will loop the step, receiving messages, until there aren't any more messages ready on the queue, and it should do it as fast as possible.
Stage the test for maximum speed. If you're running in the ITR then you'll want go to the 'Settings' tab and set 'Auto Run Delay' to zero.