On May 20, 2008, at 4:00 PM, Issac Goldstand wrote:
Right - I know that in theory, but was worried about the disk/ram/
cpu overhead of replicating the writes to all of the slave servers
offsetting that benefit...
The explanation i gave to this on the Pylons list today was such:
when you're successful, you cluster to a couple of servers with
replication
when you're SUCCESSFUL!!!!!!, you cluster to a handful of servers
with replication and horizontal partitioning
you honestly shouldn't have an issue with writes/reads until you have
a hugely utilized service
you can also do psuedo-partitioning to make things work faster--
keep 1 DB + replication system for your app's business logic
( accounts, meta data, etc)
split out your sessions and logging facilities (if any) to a
seperate box(es). those write on every request - just give them
entirely different boxes & databases to save to, and free up the
write/read/replication structure for your data
personally, i think one should always architect applications with
separate DB handles for read/write/log/session at the outset. you
can essentially make them 'one' handle until necessary... but it
takes barely any time to program with that paradigm from the start...
vs trying to retrofit in clustering to an app when its too late.
my bigger questoin on your design would be this:
why are you using apache?
off your setup, you don't seem to suggest any need for apache. i
think you'd be MUCH better off using nginx/lighttpd with fastCGI .
Have you tried using APC ( http://pecl.php.net/package/APC ) ?
I know it used to suck ass. IIRC , APC used to be worthless and
eAccelerator was the only thing that worked - and was great. then
APC was working, and eAccelerator kicked its ass. but then
eAccelerator broke for like 10 months, and APC worked - so it picked
up a lot of steam.
looking at your specs, i'd toss as much ram on your http machines as
money allows, run nginx + fastcgi on the boxes. give fcgi some
generour ram and APC .5GB. then run the rest of the box on
memcached. its not worth running replicants on your http machines -
you're better off tossing the CPU to php and the RAM to memcached.
// Jonathan Vanasco
w. http://findmeon.com/user/jvanasco
e. [EMAIL PROTECTED]
| Founder/CEO - FindMeOn, Inc.
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
| FindMeOn.com - The cure for Multiple Web Personality Disorder
| Privacy Minded Web Identity Management and 3D Social Networking
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -