I have gone through a similar struggle with a Drupal site that serves millions of unique visitors each week.
The idea of splitting out the read/write and read-only transactions was out of the question. I found
that there was some basic steps that brought a zen like balance to our systems:
1. We put in a linux cluster (LVM) that gives us a backup database server in case the first one takes a hit. (We put all of our databases on a shared
SAN) shared between the active database server and passive database server.
2. We put in memcache dedicated servers (this was a key performance enhancer.) - Research shows facebook uses 200 memcache servers.
3. Have some time invested in mysql slow query analysis (often overlooked step)
4. Put more time in tuning analysis on your mysql server, often different traffic patterns requires different tuning to maintain performance
Big question your post raises is what do you mean by "I'm working on a pair of servers that is located in different datacenters?" Are you trying
to run your web servers in a different location than your db server? If so the latency issues can cause undue stress on your db servers.
If I can help I will.
From: [address removed]
To: [address removed]
Subject: [php-337] MySQL Cluster / Replication
Date: Fri, 11 Jul[masked]:25:11 -0400
I have a few websites that are starting to kill my server's resource.
I'm working on a pair of servers that is located in different datacenters, I'm looking to load-balanced everything.
I know that usually, people would offer to simply connect X numbers of web servers and a DB server (MySQL in my case) with a load balancer (F5) or even a few (RR) A records.
My issue is that I just don't believe in one DB server, if that goes down, those web servers are pretty much worthless.
So I've started to think of a better solution such as Cluster or Replication. Now, Cluster is out of the question at this moment, it uses the RAM, at the moment I can assume it would take 1 GB (the calculation is (<DB_SIZE> * 1.1 == <NEEDED_RAM>)). MySQL Replication looks like it could work.
Does it looks like Master-Slave configuration sucks? Do they really expect me to split the SQL queries? INSERT (master) / SELECT (slave or both)
It looks like a Master-Master configuration could work if I would configure it right (auto inc. steps, etc.). I think MMM (check Google code) could help with that...
I'm looking for something that would need to much of application modifications since I have several friends on it as well.
Have anyone done one of those configurations before? Any other ideas?
I hope this isn't too long to read... heh
Please Note: If you hit "REPLY
", your message will be sent to everyone
on this mailing list ([address removed])
This message was sent by Sam IT ([address removed]) from The New York PHP Meetup Group
To learn more about Sam IT, visit his/her member profile
To unsubscribe or to update your mailing list settings, click here
Meetup Support: [address removed]
632 Broadway, New York, NY 10012 USA