On Sep 6, 2005, at 11:09 PM, Scott Haneda wrote:
> After reading this:
> <http://www.anandtech.com/mac/showdoc.aspx?i=2436> I suspect OS X
> is just
> not going to cut it.
So while I think it is beneficial to be open to new things at all
times, there are as always two sides to any story. The Anandtech
articles stem back to a test they developed which essentially
measures how long it takes to open and close a connection to MySQL...
and then relating that and pretty much that alone to scalability.
Speaking as someone who knows about scale and deals in 100M+
dynamically created page views month after month let me say that
opening and closing a connection to MySQL is NOT a good measurement
of this. That said we use MySQL on our Mac servers to serve each and
every one of those dynamically created pages.
Anandtech says over several trials they have tried various MySQL
config settings to fix or improve things, of course they list the
settings they have tried. Guys... you are taking issue with time to
establish a thread... try the thread cache (duh)!!
More importantly... If you are really focussed on scale you need to
look at many parts of your technology, not just your database
servers. One of the issues demonstrated by this review is that PHP
which opens a connection each time you access the database may not be
the best way to go if you are a high volume site, but moreover use
something that utilizes a connection pool, such as JDBC (which of
course would require you use Java for your application, rather than
PHP). I'm not suggesting that there is something wrong with PHP or
that everyone should code in Java... I'm just saying there are many
technology choices that go into determining what will work and how
well it will scale, and this Anandtech article focuses on one that
doesn't apply to many many people.
Now IF you are relying on PHP and IF you are receiving high volume
and IF your MySQL server isn't performing well enough, then you may
be in the position that the Anandtech article applies. One solution
(the one they are seemingly presenting) may be to change the database
server's hardware platform. But it's not the only solution, and you
should look beyond this one issue to make sure you are choosing
something appropriate to your actual needs.
We're happy with our Mac based MySQL servers in many respects. We've
got some 64 bit issues that are causing a little grief, so we're
looking at our options... Obviously working with Apple and MySQL to
determine the real reason for the 64 bit failures will be high on the
list. At the same time we're going to take a look at Yellow Dog's
Linux for Power PC and then we can do a direct comparison and see
what differences a change in Operating System makes to us in real
life, not just what effect it has on Anandtech's "benchmarks", which
don't represent how we work at all. Once we've looked at Yellow Dog
we'll be happy to talk about our experiences there too.
In general though, we will say that the XServe G5/OS X combo works
better for us in most everything than our Sun Servers running
Solaris.... our XServe's handle twice the load of Sun V240s on our
Java based web applications, for half the price. But we're also
willing to look at a Linux variant to see if it helps us in database
land when teamed with 64 bit... I have a couple of 16Gbyte ram
XServes I want to see how hard I can push in database land. In
database land our G5 Xserves with 8Gbyte so far outperformed a Sun
V440 with 4 processors and 16Gbytes of ram it wasn't funny... so OS X
and Mac boxes isn't such a terrible thing
Give some thought to Yellow Dog... if you're going Linux anyway why
not work with the hardware you have, $89 for the OS with installation
support seems less dramatic than switching your whole hardware
platform... but also give some thought to how you are using MySQL and
where the performance issues really are, not just the single issue
that one set of tests keeps focussing on (this is the third in a
series of articles from Anandtech focussed on opening connections to
a MySQL server on OS X - there is so much to performance than this
one piece of the puzzle, and there are plenty of solutions which
don't mean throwing out your hardware).
Best Regards, Bruce