It's a tricky one, my initial thoughts were latency but that should be easy to test by doing a ping.
If its not latency... Is there any kind of network device in between the app server and DB server that does packet inspection? Those types of appliances could have a performance impact.
If the app server and DB server are both in the DMZ on the same network segment then I would expect the network performance to be fine.
The other things that you could check are network interface card drivers (this does happen from time to time, even on virtual servers), make sure there are no strange port settings on switches, no links between the devices that are saturated / at capacity, or even test if things other than database connections are slow (e.g file transfers).
Do you have another app server which can access the database server? (Maybe one that can tunnel through the firewall?) Or vice versa, another database server that you can restore the database on and test from the app server? Perhaps you can narrow down whether the app server or the DB server has the problem, or whether the problem is in between them...
I know that seems like a lot of generic advice but its the best I can offer without seeing the environment