We are migrating an existing application that requires a decent database setup. We've run a simple mysqlslap test on two server configurations - combined app & db server, separate app & 2 db servers (master/slave):
mysqlslap --auto-generate-sql --concurrency=50 --number-of-queries=1000 --number-char-cols=50 --number-int-cols=50 -vv
My questions:
Not a MySQL specialist, but hey, reality does not care ;)
Physics is the same.
At the end, you HAVE latency - deal with it. The main way to do that is to ask for batches of data, not row by row. Then understand that "latency" is something for one thread - throughput can STILL be higher due to higher capacity. That is a trade-off here.
If is is nice to you: all larger applications split, so it is not like that is not something you can deal with. Helps to have a real database server, though. Basically the machine should be powerfull enough to not be another bottleneck. You get latency, you also get scalability. Normally scalability is worth more than the latency.
Again, this is physics - nothing secial to MySQL here.