Greetings!
I'd appreciate hearing from anybody who's had experience with any of
this. I've got a Rails app that currently deployed on EC2 with MySQL
and am readying to move from a dev / prototype model to a full-scale
production model. Right now I've got a single MySQL instance. I'm
getting ready to move that to a master-slave setup. I'm also planning
to use EBS volumes for the MySQL storage with snapshots saved to S3 for
backup. Would love to hear from anybody who's done any of this
before.
Also, I've been reading the stuff from Rightscale and they really seem
to know what they're doing. Anybody got any experience using their
services?
Thanks,
Bill
Forgot to mention...
The database growth plan is to use sharding rather than clustering. So
any experience with software 'load-balancing' front-ends that direct to
an app instance based on subdomain rather than / in addition to
availability would be very helpful.
Thanks again,
Bill
Not trying to offend you, really. But how about getting big before planning sharding ? You can get really big with just tweaking mysql on a 4 core server and then you can have loads of memory and eventually you can keep everything in memory. Then you can cache the site, and then you can put varnish cache in front. I work on a site with more than 1.5 million individuals visiting each and every day, not distributed evenly, and for the most part it is a single mysql server, single web server and varnish cache. This setup replaced 14 squid servers that used to be in front.
(We actually have everything with fail over and more setup, but mostly to keep things simpler). With the setup we have, we can grow a lot bigger before we need to increase anything.
Trausti
Hi Trausti,
Not trying to offend you, really.
No offense taken, Trausti. Really.
But how about getting big before planning sharding ?
Agreed, at least as far as 'we won't need to do it for a good long
while.' I was just saying that sharding rather than clustering is the
eventual path we'll take. Much of that decision is based on another
decision: deploying on EC2.
You can get really big with just tweaking mysql on a 4 core server and
then you can have loads of memory and eventually you can keep
everything in memory. Then you can cache the site, and then you can
put varnish cache in front. I work on a site with more than 1.5
million individuals visiting each and every day, not distributed
evenly, and for the most part it is a single mysql server, single web
server and varnish cache. This setup replaced 14 squid servers that
used to be in front.
Understood. And thanks for the numbers. I've got a lot more
investigating / benchmarking to do before I know what our 'break point'
will be. Most of the usage of the site I'm working on now will be
updates rather than reads. I know that MySQL is optimized for reads,
and there's lots of numbers out there for that but I haven't seen as as
much about the update side of the performance.
(We actually have everything with fail over and more setup, but mostly
to keep things simpler). With the setup we have, we can grow a lot
bigger before we need to increase anything.
Thanks much for your reply. I appreciate it!
Bill