Multi-DB Question re eAccelerator, Etc.

Hi,

A "query" about Multi-DB:

Let's say I have a single server now. It's set up with eAccelerator, etc. And let's say I later split the site into multiple servers by using Multi-DB. I assume that I just set up each server identically, with eAccelerator and everything the first server has? And, each instance of eAccelerator will cache what it needs to on that server?

Am I understanding right? I just want to make sure that each server can have similar configuration and performance.

Thanks,

Mark

  • Barry

    And let's say I later split the site into multiple servers by using Multi-DB. I assume that I just set up each server identically, with eAccelerator and everything the first server has?

    Hi, if you are at the point where you need to split the database to separate servers, then the additional servers would usually only have the database software on them (mysql). In this case you wouldn't have php installed on them, so no need for eaccelerator to be installed on them.

    To reiterate and assuming I read your question correctly - at the multi server point in your sites lifetime, I'd split to separate db only server(s) and separate front-end servers. Put only mysql on the db servers, and the web server, php and your opcode cache on the front end server(s).

  • wpcdn

    Thank you. Makes perfect sense.

    Followup question: In that scenario, how can I have multiple front-end servers? I understand how we'd set up the database servers and use Multi-DB to direct that traffic. But I'm not sure how we would "tell" WordPress multisite to split the front-end load up among multiple servers. I didn't know that WP multisite can be set up this way, although it's certainly what we'd like. Can you elaborate?

    Thanks,

    Mark

  • Barry

    In that scenario, how can I have multiple front-end servers?

    There are a couple of approaches depending on how complex you want to get :slight_smile:

    You could take the simplest and approach it with a basic round-robin - http://www.webopedia.com/TERM/R/Round_Robin_DNS.html

    Amazon EC2 provides a Load balancing system - http://aws.amazon.com/elasticloadbalancing/ though you could implement it on your own system - you would need one server / one of the servers to handle the load balancing though.

    Split some sites / blogs between servers - it's easier if you have multiple sites (main domains) as you can control that at the DNS level - giving some domains one IP address (of one front end server / load balancer), and others a different IP address.

    For blogs, you could take an initial simple approach and assuming you provide domain mapping to "supporters" you could give domain mapped customers the IP address to point them at one particular server - then you have all paying clients being powered by one server, all non-paying / non-mapped users being powered by another.

    For all of these where you have multiple front end servers, you'll need to store your files / users images on a shared resource so that all front ends can access it.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.