Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We have a situation with an Application which is hosted on a dedicated server where we are anticipating a potential surge in traffic. The major bottleneck on the app is MySQL which is heavy on read and write. Although we have multiple levels of caching its still a concern that MySQL might fall over due to the volume of traffic. We aren't in a position to implement massive architectural changes that would be required to put things like load balancers and replication in place. Ideally we would like to leave the architecture alone as much as possible, largely due to the fact that the traffic volume is by no means guaranteed so the costs might exceed the requirement ultimately. One thing thats occurred to me as a possibility is to move the database off this server completely and put it onto Amazon RDS. This would give us the ability to scale in a cost effective way but wouldn't mean we're stuck with expensive software/hardware that we may or may not need all the time. Really not sure whether this approach is a good idea or not so would greatly appreciate any ideas/gotcha's/pointer's that people have.

share|improve this question
add comment

1 Answer

up vote 2 down vote accepted

Unless you're planning on moving the entire stack into AWS (which would definitely count as a "massive architectural change" in my view), running your database in RDS isn't going to make any sense -- any benefits you got from it would be more than offset by the increase in query latency (which in turn causes user-visible performance problems).

Also, note that RDS is really nothing more than a MySQL instance where someone else has done the basic setup. If you want it to perform better than what you could get out of a local MySQL instance, you'll need to replicate the instances and essentially make the same architectural changes to your application anyway.

Basically, given your constraints, you're screwed. You're looking for a quick fix where none exists (TANSTAAQF). I can see plenty of ways out of your situation, but they would all violate your "massive architectural changes" edict (most of them aren't actually that massive, but they'd all cost something, especially if you're trying to learn how to do it alongside actually implementing it). Best of luck.

share|improve this answer
    
this is largely what my research has led me to believe. the added latency just makes this a real non-starter –  seengee Aug 16 '11 at 13:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.