Just a quick post up here to help you out. I have a customer who is running their entire Magento operation on on AWS, using RDS as the database. It works quite well, actually.
We took the site over from another company that did a lot of “interesting” things with the database. There was innefficient usage of indexes, table scans, excessive queries, and a host of other things. One of the things I was tasked with was performance and so I did a number of things that did the opposite of what the previous company had done. I used indexes, stopped using table scans, reduced queries, and a host of other things. All of this discovery was done using New Relic, a massively useful tool to have if you are trying to make money on the web and performance is a concern.
The net result of those efforts was that we were able to scale down the RDS instance size and saved the customer $10k a year in hosting costs. That was last year and so I suppose that through the next year one could say that we were able to save the company $30k in total.
- Monitor your site
- Spend time optimizing your queries and controlling how and when your queries are executed
- Oh, and spending good money on expensive consultants can be a good investment. You aren’t just paying for time; you are paying for experience.
One other lesson from this experience, too. Try not to build massive amounts of code to outsmart either the DB or the application, Magento, in this case. Solve the problem, don’t cover it up. Then your app starts looking like this:
Oh, and monitor your jobs.