So, the last time around, I talked about TXRPT, and how you can get detailed performance statistics out of Tuxedo. As the last topic in this three parter, I wanted to talk about the TMIB. If you’ll forgive the 90s flashback, the TMIB is kind of like The Matrix for Tuxedo. Everything you do, every change you make via administration tools, every command you use to bring back the current status of something, goes through the .TMIB service. It underpins everything.
So the last time we talked about Tuxedo, we talked about the ULOG and TMTRACE. This time around, we’re going to look at a great tool for basic performance profiling.
The great thing with all of the tools we’re looking at, just as with the stuff we looked at in the last post, is that they’re built into the Tuxedo platform. Tuxedo provides a tool out of the box that gives you log files of service execution times at millisecond precision. It’s called txrpt (as per the title for the post) and you enable it for individual servers by specifying CLOPT particular CLOPT settings for your server.
My last series of posts was on some more general rules of thumb around training, so I thought I’d jump next into specifics about technology – specifically, where to find useful information with Tuxedo. I had intended this to be one complete post, but due to the wonderful fractal quality of explaining things, I’ll need to break this up into a series.
For those of you unfamiliar with Tuxedo, this post is unlikely to have much interest or benefit. Before we possibly part ways though, I’ll take a moment to explain exactly what Tuxedo is, as it’s somewhat rarified knowledge nowadays, but the market seems to be pushing to make it and similar products popular again. From my less cynical vantage point, it looks at the moment like a healthy step backwards from making the solution to EVERYTHING a web service, or SOA.
One of the more common questions that we get asked is what is the best approach to combining one or more commands in ConfigNOW?
For example lets say you wanted to combine the ‘create_domain’ command, with the ‘start_wls_admin’ command to create a new command called, ‘create_and_start_domain’, which first created the domain and then started the admin server.
The simplest way to achieve this is by using a custom ANT command file through the standard command extensions approach. Check out the documentation (http://www.integraltech.com.au/confignow/confignow-documentation) if you are looking for more information on how to do this.
This is a much shorter post than the lengthy screeds on the material and delivery aspects of training, mostly due to the fact that this is the aspect of training delivery you have the least amount of control over as a trainer. But, admittedly I do have less to say about this area as well.
Fundamentally, a good training venue is one that can keep the trainer mobile, and the students awake. And, given that keeping the instructor mobile is about keeping students awake, it fundamentally boils down to keeping the students awake. The rest largely takes care of itself.
So last time we talked about the training material. But while training material forms the foundation of the experience, how you conduct the course is the make or break point. You can compensate for poor material with solid experience and product knowledge, you can make light of a difficult venue, but without quality delivery you’ll either have your students switch off, or even worse, have them go offside.
Herein lie a few prescriptive suggestions about how to coordinate the course. Again, while I’m stating these as rules, this is only my view on how to handle things. Let me know what you think in the comments.
For the first time in a long time, I attended a training course in April as a student,. I’m hoping to attend more training courses soonish, particularly some of Sun’s Java internals courses. I’ve just finished delivering a block of training in Sydney, so now seems like a good time to talk about something that’s been ticking over in my head since that course – golden rules of good training delivery.
Watching a course unfold as a student is a great learning exercise. Not just in terms of learning the course material, but also watching how trainers present the course, and help the class learn. Watching the course in April reinforced for me some things I believe about training – a number of them by negative example.