MQTT Downlink timing problem

I have a problem sending downlinks with MQTT.
I know the downlink uses the correct file format and everything. The problem is that I have to send a lot of downlinks (spam a lot of downlinks back-to-back) for one to make it to the node.

The node will send an uplink and it will show up in the live gateway frames, and the downlink will appear, but often it is more than 1 or 2 seconds after the uplink.
Is there a setting somewhere I must change for the timing to be correct?
Thanks

Has anyone else had this problem?