Amazon Aurora database thoughts and comments
Here is the report (sorry, it's Japanese article)
sorry for hijacking this thread. Was it any faster in real terms? Do you recommend RDS with Aurora? How does it stack up? I've found switching to RDS to be quite problematic and once you get to this point you really need a comprehensive caching strategy as it is a lot slower than running mysql on localhost. Does Aurora in part make up for this?
When you say Amazon RDS MySQL is a lot slower, by what magnitude ? And were you able to compensate for the slowness with caching ? Also do you see a big difference running MySQL (not Amazon RDS) on the same server as Apache vs. running MySQL on it's own server ?
from my experience RDS ends up being a lot slower. It's in the combined length of all of the round-trips.
It will of course depend on your site - how your autnavs are organised if you are using them, how page lists are sorted if you are using page lists.
A concrete5 page can make many hundreds of queries per page load.- when you add in the extra latency on each request compared to hitting localhostit can all make a big difference.
Some plugins work well on small sites but when you scale up the traffic you soon find shortcomings.
Same with custom code and queries you write yourself with lots of table joins that get repeated and repeated.
In this scenario caching becomes your best friend. On a particular site I'm thinking of we used mod_cache rather than varnish, you do get into some fun and games with the headers returned by C5 but it's doable and not too painful.
We use a 2 hour cache and have a cache-warming routine running constantly using cron/phantomjs that visits the site pages to make sure the cache is primed as much as possible.
We used a separate subdomain for the admin area which is not cached at all and various redirects in place to push people the right way depending if they are logged in or not.
If you have a membership site where lots of people log in to view different kinds of content on the front-end then caching will be a little more complex.
Unless you have a high-traffic site and have to worry about scalability I'd generally choose to run mysql on localhost and make sure the VPS is well resourced.