June 24th, 2009
|jimbojones||09:09 pm - OpenSolaris: first impressions|
I've been benchmarking Sun's ZFS filesystem alongside more conventional ones lately, and as a result, somebody asked me to include numbers from Sun's actual operating system running ZFS. So I figured hey, why not.
I felt like that little girl from Jurassic Park. First, I sit in front of the computer, and stare at the monitor with a relieved grin. "Hey, this is Unix - I know this!"
Then the velociraptors attacked.
I suspect there must have been driver problems with the particular hardware I was using, because holy SHIT was OpenSolaris (2009-06) ever broken. First, any attempt to read from /home/export/myname severely impacted performance of the whole system - making it damn near unusable - until the read finished. Um, what? Then I discovered that if I had a terminal window open, and I fired up nano (a text editor) and then maximized the console window... suddenly, arrow keys started producing ASCII codes on the screen instead of... you know... arrowing. And once a terminal window actually crashed while I was using nano. Then I tried to install the Data::Random module from Perl's CPAN, and... well, the less said about that the better.
I could also go on about dd not understanding the "m" or "g" suffixes to blocksize arguments - despite the manpage saying that it does - or the lack of throughput report at the end of a dd run - despite the manpage saying there should be - or the lack of normally pretty-universal utilities like pv (pipe viewer) in the package repositories... hell, I think you get the picture. There may be some Very Good Reasons to go Solaris instead of BSD or Linux in the Enterprise world that I'm just not aware of, but from a smallbiz ISV's perspective, it felt like HP-UX: sorta like what you're used to, only painfully obsolescent and quirky and treacherous, with a lot of things you expect to be available inexplicably missing.
Again, I have to believe a lot of my problems must have been endemic to the hardware I was using. (Athlon64 3500+, ASUS motherboard with nvidia chipset, 2GB DDR2 SDRAM, if anybody is wondering.) But honestly, from my perspective as an ISV catering to small business... that doesn't help much. I don't want to have to carefully pick and choose from a list of exotic crap to feed my OS; I need to by and large expect it to just fucking work with commodity off-the-shelf parts.
I'll put up new numbers tomorrow, including results from FreeBSD 8.0-CURRENT (which includes ZFS v13, as opposed to the ZFSv6 in FreeBSD 7.2-RELEASE) as well as the OpenSolaris results. But I'll save you the tension, if it's the Solaris numbers you want: they sucked. (Which may largely have had to do with the fact that OpenSolaris seems bound and determined to run X Windows, whereas FreeBSD didn't - all I really know is, from the "install it and see how it works" perspective, it blew.)
the difference lies in vista versions being about milking money out of people and solaris versions being about either licensing or perception (nevada, solaris, opensolaris have diff licensing going on), but yes, it's confusing and aggravating.
also the /home/export thing is because it's assumed that you're going to be setting up solaris in a networked environment where homedirs are served via NFS. go into /etc/auto_master and take /home outta there (might gotta reboot...)
and yeah, get thee to the GNU tools PDQ and ignore sun's versions; anyone who would actually be using solaris would do that too (so your benchmarks would reflect real world use if you did this, i mean). assuming solaris 10, get thee to