OSX disk performance
This is actually in reply to a comment on slashdot, but I
couldn't format my reply properly... You used to
be able to turn on <pre> tags, and get
pre-formatted text to look ok - not any longer,
at least not that I can see. Oh well, loss in
functionality, but it looks a lot
prettier now...
So, here's the post:
To address these point-by-point
There are parts of OSX that could stand some improvement, mainly because of the mach-based underpinnings of the OS. fork(), thread-creation, context-switching etc. Could all happily see some gains. On the other hand, it could be that message-based underpinning that means OSX scales more meaningfully to larger numbers of cores. Oh look, what's on the horizon ?
So, here's the post:
- In a server setting, ports must be open. OS X much-vaunted security (mostly, no ports open) is now at risk.
- In a server setting, you would use a supported distribution of Linux. This includes security updates. Same as Apple.
- In serving Windows clients, SMB would be provided by SAMBA. The web administration of SAMBA is the same.
- OS X has always performed very badly in disk access (its architecture is bad for this).
- Local service can provide setup and maintainance contracts. The small shop does not a full-time guru.
To address these point-by-point
- Although the OS is shipped with ports
all closed, this is only one small facet of the
security of an OS. This also ignores the fact that
in the firewall configuration, you can specify
address-groups, and configure custom rules per
group. Just as with any firewall, a port doesn't
have to be open to the world, just those that need
access to it. Still, there's a lot more to OSX's
security than a firewall...
- I'm fine with the idea of using a supported
Linux distribution - I'm trying to correct wrong
impressions of OSX, not put down Linux - I've been
running Linux since it came with a boot-disk and a
root-disk, and you had to be careful about whether
you had an FPU...
- The web-interface is the same, but I think you
get more from OSX. The integration is better (it's
more similar to all the other users), and the
feedback is better - realtime stats are available
(as they are for pretty much everything).
- This is what prompted the reply. This is just
plain wrong. I downloaded, compiled and installed
'bonnie++' ...
prompt% sudo port install bonniexx
...and ran it on my Xserve. Now this isn't an X-raid (those can really fly) - this is a RAID-1 (mirrored) setup, with 2 of the slow-but-large internal 750G drives that Apple supply. Here's what I get with bonnie++ -q -s 4096 -n 128
Now before everyone looks at the 'per-char' figures and compares them to random bonnie++ results on the 'net, it's worth noting that the figure was intentionally lowered in version 1.92 of bonnie++ (it's in the Changelog, if you want to see why). For a 2-disk RAID-1 system, those are very respectable results. Certainly it doesn't "perform very badly" - note the figures in red, for block input and output...
Just for giggles, I also ran this on an XServe/XRaid combination, with two XRaid (RAID-5) units bonded into one logical disk (for a total storage of ~10TB). Here's the bonnie++ report:
Have a look at that for i/o - the disks are sustaining a GByte/second (!) I think that's actually limited by the transfer protocol (4x 2Gbit fibrechannel cables connect the xserve to the xraids, 2 to each unit). Yeah, that's really performing "very badly" [grin]
I've taken the latency figures out, because it's hard enough to understand the output from Bonnie, but they were all pretty respectable too - all in the uSec or mSec ranges...
- As for requiring a "guru"... The point of
OSX-server is that you don't have to be a guru to
administer it. The average
'office-computer-know-it-all' ought to be able to
administer the network (and probably get a pay-rise
because of it), if (s)he's using OSX-server...
There are parts of OSX that could stand some improvement, mainly because of the mach-based underpinnings of the OS. fork(), thread-creation, context-switching etc. Could all happily see some gains. On the other hand, it could be that message-based underpinning that means OSX scales more meaningfully to larger numbers of cores. Oh look, what's on the horizon ?