There is always a bit of a slowness when running the database on it's own server, however it should not be that big.
Have you tried fetching just a single record with a primary key?
Something like this
User::find(1);
Is that just as slow or is it as fast as you expect?
If that is still slow, I suggest checking that all of your servers are in the same area, so you don't have the web server in Asia and the database in Europe and the load balancer in the US.
If it's fast then I suggest using a tool like Debugbar or Clockwork to see if there is something with your queries.
n+1 issues, high memory usage or slow execution time due to bad or missing indexes.