Magento – Is It Worthwhile To Use A Separate MySQL Server

databaseserver-setup

A similar question turned into opinion soup over here: So maybe there's no 'right' answer to this, but I want to check with the community.

My client is about to launch a TV advert. They are expecting traffic in the 7-digit department over the coming month. My job is to ensure the server does not fall over.

My question: is it worthwhile to split the MySQL database onto a separate server, which only serves the database. I then want to have multiple servers which contain the codebase and serve apache, interfacing with the database box. All will be virtual containers.

I do NOT (think) I want to use multiple DB servers – seems it will introduce unnecessary complexity and potential errors/bottlenecks.

Am I wrong? Would welcome some experience opinions on this. Thanks.

Best Answer

We've used a separate MySQL server in several instances where the shops were facing high traffic. There are a couple of advantages to it

  1. Dedicated database servers can be tweaked to the specific needs of MySQL which are different from a webserver
  2. It's easy to add a second (load balanced) database server to the cluster when needed
  3. When your database goes down it doesn't crash the frontend so you can display a decent warning or error page.

When Magento is properly cached with Varnish or any other FPC extension the main bottleneck will be the database from what I have experienced. The real power will be required for your database. In this way you can start out with a relatively small web server and invest more in the database server.

Related Topic