I’ve noticed this year an interesting trend. Very rarely does someone outright declare their love for Solaris, rather, they tend to really love some technology. More and more that technology is ZFS, rather than DTrace. The question then is, has your love for DTrace faded? Is ZFS superior? Or is it simply that ZFS fills a more practical every-day need and therefore more visible?
Opinions?
On ZFS: My experience with ZFS in an operational sense is really confined to Solaris 10, with occasional forays into OpenSolaris/SXCE to check out anything that’s new.
ZFS is great. I love it and can’t imagine not having any fs >1TB under its control.
However on Solaris 10, it suffers a bit from slow fixes and fix backports from onnv. One example is the cross-call storm CR that has been fixed in onnv for some time now, but it really causes ZFS performance to crap out on Solaris 10. The Solaris 10 patch which puts the fix into s10 isn’t going to appear until after s10iu8 is out. Someone really needs a head-check at Sun regarding this kind of stuff. This ultra-conservative fixing approach has gone way too far. Way too far. Take a look at the oft-made performance comparisons on zfs-discuss.
On DTrace – I love it, I use it when it’s needed and it really does come in handy. I think a lot of people use it but just don’t talk about it much. If anything, there are two things that could be done to encourage wider, or perhaps more vocal use:
1) A good dtrace script repository which also hosts tutorials that are geared towards junior and mid-level SAs. Brendan’s toolkit site is a good start, but the dtrace resource smorgasbord appears to stop there. You can find random gems on blogs.sun.com, but other than that, nada.
2) Getting better, or just plain getting SDTs across more apps. Apache and PHP come to mind with their dtrace modules. MySQL offers them only if you are on the bleeding edge. How about Oracle? How about the Java folks making an big push? These latter two would bring dtrace out of the SA world and into the DBA and Dev worlds… jobs that in many places are segregated from the SAs. Wider awareness brings wider use. Wider use brings more wins, which get noticed.
DTrace gets used inside Sun every day of the week. old problems are solved faster and more efficiently and new problems that were previously impossible to tackle are getting fixed. as a result of DTrace problems we didn’t even know existed are getting looked at.
ZFS is another amazing piece of technology but I’ll DTrace over ZFS any day of the week!
I have used Windows on my computers ever since my fingers wobbled and grew out enough for using a mouse. I had never used any unix or linux or anything until last year, nor done any programming or any such thing. I read about ZFS, recognized its inherent silky smoothness, decided to try it and it was easy to use. Even a wintard like me can use command line ZFS and succeed in setting up pools, raidz’s, mirrors, and sharing via cifs.
DTrace on the other hand, what am I supposed to use that for? I don’t ‘hack kernels’ or whatnot, I’ve never programmed anything (unless the microwave timer counts) and I’m certainly not going to understand how to make a script that would do something I might need to do.
DTrace is for those guys who work on the internals, whereas ZFS can be appreciated by anyone who has ever used a computer for storing stuff. That’s why you hear more about that I guess.. From one computer tard who thinks like that!
I don’t love my operating system; I love my girlfriend.
DTrace is an extremely powerful tool that is normally completely useless, unless one is a kernel engineer.
That’s DTrace’s greatest power and her greatest weakness, all at the same time.
Your regular Joe Sysadmin is completely overwhelmed with DTrace.
When I took the DTrace course, I kept asking the instructor, “wait! Where did THIS structure SUDDENLY COME FROM? How am I supposed to know that?”
And always, the same answer:
“well you have to know the internal kernel structures and know the kernel code if you are to use DTrace effectively.”
So I got me a copy of “Solaris internals” and went to town.
But to expect your day-to-day sysadmin to do the same is just naivete, not to mention impractical; sysadmins are usually drowning in work, and they usually do not have the time or the inclination to become kernel engineers in order to be able to use DTrace effectively.
So yes, ZFS is a much more practical technology, from a sysadmin’s point of view.
I love both but as many have noted here, I interact and use ZFS on a day-to-day basis whereas DTrace gets used only on tough problems.
A combination of the two (DTrace and ZFS) as seen in the Sun Storage Analytics would be a killer app on on Solaris 10. And if this was extended to general day-to-day troubleshooting problems, it would be a huge plus for all.
Mostly just echoing the above sentiments at this point, but…
ZFS is very approachable. It’s easy to understand what it does, when you would use it, what its benefits are, and the zpool and zfs commands are very easy to learn and use. You get a big bang for a small investment.
DTrace requires a *much* larger investment to learn and understand than most people “just checking out Solaris because they heard about ZFS” are willing to make. It’s almost a chicken/egg problem—to really “get” the value of DTrace you need to use it and discover how much you can do with it, but in order to decide to make enough of an investment to really learn it well enough to discover what all it can do, you need to understand it enough to know it’s worth it.
Within Sun , we still love DTrace and would like to bring it to the web developers. We are making small progress on this front
DTrace probes are enabled by default within Apache, PHP, MySQL, Ruby within OpenSolaris 2009.06
- increased DTrace probes within PHP – http://blogs.sun.com/natarajan/entry/new_dtrace_probes_within_php
- back ported DTrace probes from MySQL trunk into 5.1 within OpenSolaris – http://blogs.sun.com/natarajan/entry/dtrace_probes_within_mysql_5
Some of the web min (with less experience on Solaris) folks that I met in OSCON . just love what they can do with DTrace on their drupal site (running on MySQL / PHP / Apache) .
DTrace is much less accessible; you need a good feel for Solaris internals to be able to make good use of it.
Everyone has disks
I use mdb a lot more than I use dtrace, so what about mdb? What about SMF? There’s no equivalent for commands like “svcs -p” and “svcs -xv” on any Linux or BSD system that I know of. What about RBAC? What about fault management architecture and the “fmdump” command. What about zones? Are virtuozzo and openvz on Linux better than Solaris zones? I think not.
Solaris has so many cool unique features built into the core OS, it’s a shame to see it being killed off by Linux just because Linux has more developer mind-share because Linux was more malleable and easier to compile everything from readily available source-code than Solaris was.
There is hope though. We can always make OpenSolaris more malleable than Linux. Who here is up for a Gentoo-Opensolaris fork?
@system5: Amen brother. SMF never got the love it deserved, nor has SunCluster (OpenHA Cluster), nor Zones, nor resource controls, kstats, mdb, etc. I’ll admit that some Solaris technologies have never been properly implemented (such as RBAC not having a modern profile shell) or FMA still being usefully only part of the time. Most of Solaris’s security features just are hard to sell, such as KMF, IPsec/IKE, etc.
Crossbow is now a feature of Solaris that deserves a lot of love, and I’m really afraid it’ll be overlooked.
ZFS is just easy. Functionality is growing all the time.
Dtrace I think i only used it once and that was just to see how it worked… boring…
Oh wait maybe I can use it on ZFS and Virtualbox to see why the performance is just sluggish at times. Not that I would know what I can do with this RAW information since I am not a developer.
>Your regular Joe Sysadmin is completely overwhelmed with DTrace.
yes that`s true. Not very much people are being attracted to Solaris just because of Dtrace. But they are because of ZFS.
I`m not a dumb Sysadmin, but Dtrace looks very advanced to me. ZFS is easy and gives direct benefit
I think the main point is that ZFS is something you need and use every day as a Solaris user, while DTrace is something you only need when you have a problem
Naturally, that’s going to lead to using one more than the other.
I disagree that DTrace is only for developers. I know of many people who are emphatically not developers that often use DTrace to figure out performance issues on their systems.
Any advanced observability analysis tool, especially a scriptable one, is going to require some learning. Tools like Chime (dtrace visualization tool), in combination with Peter Triblbe’s jkstat, can make an administrator’s life much easier.
What I really wish is that Chime was a default part of the DTrace distribution.
DTrace is great, especially with some nice scripts from Brendan and friends. It is even greater if people understand how to interpret the results. When you look at DTrace data, you have to know what some of those system calls are e.g. stat() or exec(). Some people might know what those are. (Actually, those are easy ones, but if you are debugging performance problems, there are all kinds of weird syscalls, that I myself don’t know about). DTrace is really more beneficial for programmers and savvy sys admins.
ZFS on the other hand is super duper simple. You don’t have to know the magic that goes on inside a redundant file system. Just create, destroy, and grow file systems with ease. Easy to understand for almost anyone. No prior knowledge required.
This doesn’t mean that DTrace will fade away. It’ll continue to be used and other OS’s will adopt it, due to its usefulness to someone that does know a thing or two about Unix.
Simplicity always becomes more popular and widespread. (e.g. take for example the iPhone. It really has just one single button and everything is very intuitive.)
Plus, DTrace, you don’t use all the time. Usually when you run into a problem or you have lots of time and you want to optimize a method/function in your code. ZFS on the other hand is used more often, disk monitoring, scrubbing, snapshots are regular use items, and so more talked about.
I think there’s something in the love affair analogy. With DTrace, it’s matured from a passionate fling into a stable long-term relationship. And I know that for me at least, ZFS has gotten to that stage as well – I just assume it’s always there for me.
I wonder if a GUI-style makeover of DTrace such as what Apple did with it in the form of XRay/Instruments (or whatever they are calling it this month!) would go some way to raising the profile and simplifying the use for the novice user:
http://blog.amber.org/wp-content/uploads/2006/12/apple_xray_screenshot.jpg
I’ve read Kernel Internals, both volumes. I translated both guides on DTrace (Dynamic Tracing and DTrace User Guide). I read blogs and BigAdmin. I use mainly what is distributed with DTT. It coveres almost all my needs and if I ever need anything more complicated it takes me ages to look up all knowledge again. DTrace is a framework and you need to full it in with your invention. So while it is powerful, it is also a it difficult. On the other hand ZFS is so easy, that every one can start using it right away. Also, ZFs is more everyday technology. Unless you just love peeking everywhere, you don’t fire up DTrace every day. ZFS you may well do.
My analogy of DTrace is that it’s like a multimeter. You use it to fix your radio or TV, but you need to know how a radio/TV works first – or your multimeter is useless.
So is a multimeter useful? Absolutely. Would you love your multimeter? No.
ZFS, on the other hand, is like a car. After years of operating a manual shift car, ZFS is like an auto-shift car, which you might actually love. Of course, so people just love manual cars, but that’s personal preference.
ZFS gets more attention because of the upgrade cycle, and feature releases. It’s also getting more attention because SSDs are becoming more popular, and it is getting more attention from the storage industry.
DTrace is still great, and it still excites people, but at a smaller scale. People are creating DTrace scripts, and posting their usage experiences, but people don’t look for them until they have a performance problem.
I agree with pjlv — A general-purpose “System Analytics” tool is what it will take to make DTrace accessible to more users and sysadmins. We occasionally use DTrace, mostly with Brendan’s tools. This is usually a curiousity, not the only way to solve our problem.
We use zfs here, still adopting slowly. Although enhancements come back later to Solaris 10, I want everything tested to the nth degree. Stability and reliability comes first.
Trust for any relatively new filesystem is difficult to earn, but all too easy to lose. Sure, I wish fixes came faster, but I never want it to arrive too fast. We would use ZFS more here, but for CR 6798104.
Also, I agree that other Solaris features that sometimes get taken for granted (including SMF, FMA, &c.) should also be on the radar. If we had to pick any one thing that we couldn’t live without today, it would be: ZFS.
Comparing ZFS and DTrace is like comparing your children… A nasty thing for anyone to do, yet something that happens routinely.
ZFS is a filesystem and DTrace is a tracing framework…
But – an interesting point is that ZFS is seeing lots of excitement around it, and interestingly, the DTrace crew has, of course, a large part of that excitement. Brendan Greg in particular has been instrumental in getting some new functionality into ZFS. Where do we know that name from? The DTraceToolkit of course!
So – Are we in fact declaring our love not for Operating Systems, and not for Technologies, but for Brendan???
Excuse me whilst I go and shout at some disks.
Cheers!
Nathan.
Nathan, you make an excellent point — Brendan is just a heck of a guy. =-) It’s true that many of the features we touch every day were improved by (or even made usable by) DTrace existing beforehand. Although I may not use DTrace myself, perhaps an engineer will when I open a support call. Thanks. -c
ZFS is great and we use it extensively in our shop. In fact we have had huge (and continue to have) performance improvements over stock UFS and Cost savings over Veritas Storage Foundation/VxVM/VxFS.
There are ISVs out there who still don’t certify on ZFS, especially in the embedded database area (eg: progress).
But in all a strategic win for my shop.
DTrace is the Holy Grail of Forensics and Performance measurement and while Brendan Gregg’s DTrace Toolkit is great, traditional tools such as mdb and core performance measurement tools such as sar, iostat, vmstat still play a huge role.
I think someone has rightly pointed out that there isn’t much publicly digest-able information available on DTrace (at least not without training, be it self-learned or from Sun itself). That limits the options for busy SAs.
A big revelation in a Bill Mauro, Benoit etc workshop on Performance tuning last year was that DTrace is not meant to replace any standard tools…it is the tool of “last resort” (when all else fails).
More often than not, customers of Sun resort to Sun Support for critical problem resolution. Eg: DTrace helped us detect garbage collection issues, lock contention issues but Sun Support was needed to determine exact cause and a fix for the problems.
I personally have been able to use DTrace to identify specific areas of trouble but have been unable to pinpoint exact cause. I guess that could be because of lack of experience with DTrace…
Cheers…
DTrace is the coolest thing ever.
I use it when I need it or when I’m bored.
It seems that almost ever application has some kind of bug.
I can get a quick idea of what an app is doing before or after some action, without wading through (sometimes incomprehensible) source code, with sparse documentation at best. It is an incredible piece of art. (BTW, did you know that RealPlayer on Solaris 10 opens the same file 4 times before it actually starts playing it. Seems unnecessary, but I didn’t dig deeper…)
ZFS is also amazing. Even though I’m probably in the minority, I interact with DTrace more often than with ZFS. I only do scrubs bi-weekly, and occasionally take snapshots.
And I’m not even a kernel engineer.
nfl jerseys
cheap nfl jerseys
[url=http://www.jerseyscloset.com]nfl jerseys[/url]
[url=http://www.cheapjerseyschina.com]cheap nba jerseys[/url]