2 minutes is a browser timeout, not the server. I would bet the querry is not the issue, rather t's creating that big .pdf which is causing the delay. I do not know if there is a keep alive on the .pfd creation widget; but my guess is no.
This is likely more work than you want but: perhaps you could set up an an asynchronous process for this report. It would eliminate this issues and also be nicer for users too since they don't have to sit around waiting.