Does Apple need to fix OS X Server?

Posted:
in macOS edited January 2014
I just read this article:



http://www.anandtech.com/mac/showdoc.aspx?i=2436



Being completely incapable of comprehending any mathematical concepts beyond simple addition, subtraction, etc and thus NOT A PROGRAMMMER and NOT AN ENGINEER I was only able to glean a moderate amount of information from the piece, but I got the gist of it. It seems to me that these guys know what they are doing and that Apple has some explaining to do.



Or do they? How important it MySQL in the server world? Does it matter to Apple and OS X Server?



Discuss.

Comments

  • Reply 1 of 6
    hmurchisonhmurchison Posts: 12,425member
    Wow what a surprise Apple gets demolished again. This is really unacceptable. Apple has been living off of polishing Open Source tools and they still managed to totally fuxor OS X performance. That's an amazing showing of ineptitude.



    This link is going to be everywhere. I'll go sulk now.



    OS X Tiger ..the Unix OS that doesn't perform.
  • Reply 2 of 6
    jmbjmb Posts: 2member
    Hi. Long time lurker but I had to finally register for this one. I'm surprised more people aren't interested in (or concerned about!) this issue.



    As for MySQL performance, I think this post on Apple's darwin-dev list sounds authoritative:



    http://lists.apple.com/archives/darw.../msg00072.html



    Short version: MySQL on OS X *is* slower but this is a feature not a bug. It's slower because OS X actually forces a flush to disk (and not just into the drive buffer - but actually onto the platter.) Apple thinks this is correct behavior. Like so many things it is a speed vs. reliability trade off and Apple has choosen for maximum data saftey.



    Presumably (I'm guessing a little bit here) MySQL could provide some way to compile from source where you could choose not to F_FULLFSYNC and thus trade some of the reliability for more speed if your particular context warranted such a decision.



    But is that really the whole issue? What about Apache performance? Why is that so bad? I don't see how that could be an F_FULLFSYNC issue. So maybe there is something going on here.



    And maybe it is about thread creation as the original Anandtech article speculated.



    If so, possibly these old Jeremy Zawodny articles are of some interest:



    http://jeremy.zawodny.com/blog/archives/000203.html

    http://jeremy.zawodny.com/blog/archives/000697.html



    I know OS X != FreeBSD, but there is some shared ancestery so maybe there is something here in terms of 'kernal threading' vs. 'user-level threading'. On the other hand I've seen people point to Apple tech documents (which are over my head) which apparently seem to suggest that you can have access to kernal threading in OS X. So this is somewhat of a mystery.



    Maybe it's the case that a developer can, but that MySQL doesn't? Again, the details are over my head, I just want to deploy MySQL on OS X and not have it suck!



    Can anyone shed any light here? And I'd love to hear any first hand experiences with large scale MySQL on OS X setups. And Apache too for that matter.
  • Reply 3 of 6
    jmbjmb Posts: 2member
    Here's a relevant post from a developer on Apple?s AppKit team:



    http://ridiculousfish.com/blog/?p=17



    Check the comments especially. No final answers yet but a good discussion.
  • Reply 4 of 6
    kickahakickaha Posts: 8,760member
    Quote:

    Originally posted by hmurchison

    Wow what a surprise Apple gets demolished again. This is really unacceptable. Apple has been living off of polishing Open Source tools and they still managed to totally fuxor OS X performance. That's an amazing showing of ineptitude.



    This link is going to be everywhere. I'll go sulk now.



    OS X Tiger ..the Unix OS that doesn't perform.




    What, you took the study at face value? Shame.



    There's something fishy in their analysis. On the one hand, they claim not to do any writes, only reads, but then they provide write performance. Hmm. They don't seem to really understand the threading model in 10.4. Their use of terminology is highly imprecise and vague. All this leads me to believe that their methodology was sloppy, and I'd want to see the setup, from compilation of binaries used on each system all the way through the data analysis. (I mean come on, wouldn't it have been a better test to either run BSD on the x86, or Linux on the PPC against MacOS X? Sloppy.)



    That being said, I'm glad they did it. Anytime someone can point out a piece of data that makes you go "Whaaaaaaaaa?" you're likely to learn something new... as long as you don't just accept it as gospel and run with it.



    Something weird *is* going on - but their lack of thoroughness and rigor doesn't make me convinced it's solely happening in MacOS X.
  • Reply 5 of 6
    wmfwmf Posts: 1,164member
    The horrible lmbench results have been known for years. As Mr. Ridiculous Fish pointed out, there are quite a few mistakes in that article; but even once you eliminate that, OS X is still slower than Linux. There's no easy solution here; I suspect it will take Apple a few versions to get their kernel performance up to par if they want to.
  • Reply 6 of 6
    xoolxool Posts: 2,460member
    I have a good amount of experience with Apache, MySQL and PHP on various versions of OS X, client and server. And I do feel there is a penalty for OS X versus Linux. Why, I'm not entirely sure, but do you think this will prevent me from running Apple Hardware? No!



    If I had an army of servers and sysadmins to maintain them I'd consider using Linux en masse. But since its just me for now and I don't have major hosting demands, I'd rather save time and effort with respect to system setup and maintenance.



    Besides, I'm a smart cookie and programmer. When I get to the point of profiling and optimization, I can find solutions and workarounds that will help speed up my code. Ideally these would also apply to Linux, as long as they are not OS X specific.



    At the same time, I'm not using custom compiled versions of MySQL and PHP. I use MySQL's pre-compiled binaries and Marc Liyanage's packages. If I used better and machine-specific optimizations, I'd expect somewhat better performance.



    Either way, better benchmarking by someone who is actually a Mac aficionado would likely be a good thing. I doubt Mac OS X would win, but at least the intentions and procedures would be better.
Sign In or Register to comment.