If your content is amenable, have you set up a front-end HTTP cache (aka 'reverse proxy') yet? The fastest database operation is one that doesn't happen at all.
Make sure the machine(s) are really CPU/IO loaded, and that you're not just witnessing exhaustion of some artificially-capped pool of connections (at any tier).
Make absolutely certain no swapping is occurring, and that the things you've tried so far (such as memcache'ing some things) haven't backfired by introducing swapping or more process contention.
Making sure you have relevant indexes and key bottleneck queries are being handled in an efficient manner should come before anything that might be called 'splitting tables'.
Comments
If your content is amenable, have you set up a front-end HTTP cache (aka 'reverse proxy') yet? The fastest database operation is one that doesn't happen at all.
Make sure the machine(s) are really CPU/IO loaded, and that you're not just witnessing exhaustion of some artificially-capped pool of connections (at any tier).
Make absolutely certain no swapping is occurring, and that the things you've tried so far (such as memcache'ing some things) haven't backfired by introducing swapping or more process contention.
Making sure you have relevant indexes and key bottleneck queries are being handled in an efficient manner should come before anything that might be called 'splitting tables'.