Hi,

OK - I'll try to explain in as much detail as I can..

We have redhat linux apache webservers running our apps with fcgi (which
uses persistant DB connections).  We have about 8 of these. 

It's important to understand that our MySQL system is optimised for a
read-heavy / write-light site (about 80% reads in our case)

We also have 2 Master and 4 Slave MySQL DB's.  The slaves all replicate from
"master1" - "master2" also replicates from master1.

The masters are compaq DL380 with 15,000rpm raid 5 disk.

Our 4 slaves (and 8 webservers) are what we call "RAIN" (Redundant Array of
Inexpensive Nodes) - cheap boxes with fast disk running RedHat Linux.  If
one breaks, we don't care - we just buy another and slot it in (automated
install scripts really help us here).

In the applications we have a wrapper for connecting to the DB's - basically
as each instance of the app is initialised, it scans the list of slaves,
gets the number of MySQL processes running on each slave, then connects to
the one with the least amount of connections.  Each instance will also
connect to the master (and if that fails - the 2nd master.) therefore each
instance of our apps will have a persistant connection to a master and a
slave.

We also have a query wrapper we use to run all queries.  This will send
select statements to the slaves and everything else to the master.

Each slave keeps a heartbeat to the master and in the event of a failure,
changes it's master to master2.

We have 128MB dedicated to MySQL query-caching and about half our queries
hit the query-cache.

I think this is a nice meduim sized solution for an extremely avaiable but
non-expensive database system.

We're currently doing more than 5 Mill page views a day (each page view
generates about 5 - 10 queries) using this method.

Hope this helps with your study.

Cheers,

Andrew

-----Original Message-----
From: A.J.Millan [mailto:[EMAIL PROTECTED] 
Sent: Monday 02 February 2004 08:17
To: [EMAIL PROTECTED]
Subject: Re: Advise on High Availability configuration


>
> No, when we implemented high-availability MySQL servers we used 
> MySQL's inbuilt replication - this has been running here for years now 
> and we have had constant DB availability during that time, even though 
> individual machines have failed now and again.  We're using 2 masters 
> & 4 slaves with the logic for sql reads going to the slaves and sql 
> writes going to the master handled in the application layer.  We also 
> have automatic master failover (although I believe MySQL plan to build 
> this into their product
at
> some point in the near future).
>

At the moment we are studying the implementation of a MySQL-Apache high High
Availability system.   Would you be so kind to explain a bit more detailedly
the soft/hard aspects of yours application?.

I believe that at the moment this is a hot question.  Probably there are
many more people interested in yours experience.

Greetings.

A.J.Millan
ZATOR Systems.



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to