Note, my "quick" mental arithmetic was wrong, 28,000 in 30 minutes, is ~15 per second not ~1.5 per second, which at a latency of 2.8 seconds, is closer to a respectable concurrency of ~40.
If this output rate is not high enough, you need to work with the remote vendor to reduce latency, or raise your concurrency further still. Post relevant entries from your transport table, and all concurrency parameters (or just postconf -n). -- Viktor.