While I thought last year would be the last year of my doing this……but……you know what they say about plans…..
Once again, at this years ISUG-TECH conference at the end of March/early April (ISUG-TECH : ISUG-TECH Conference, 2015 : Conference Landing Page), I am going to teach a workshop on RS internals and performance tuning. This year the workshop will be on the last day (after all the normal sessions) and will once again be an 8 hour session. However, it is a bit expanded from last year’s session….having had lots of fun covering all the materials in 8 hours last year – this expansion already is casting some doubts on how fast I can talk.
Basically, if you every needed or wanted to figure out how to troubleshoot performance problems with SAP Replication Server using Monitors & Counters – this is the ONLY training session on that topic that exists. Period. SAP doesn’t have a class on this – and this is typical of many of the presentations at ISUG-TECH – sessions on stuff you will find nowhere else. And you leave the class with the same tools I use when I get involved in support escalations (or I should say used to as I have turned over my mantle on that to my colleague Richelle Fisher – who has been reviewing and critiquing my session as I go)…..and, of course, a copy of the presentation materials and sample reports from the tool….and some sample stats you can load on your own…..all on your very own thumb drive from yours truly. Last year, one attendee was already bartering with colleagues back at the office and by noon, I think he was up to a steak dinner just for a copy of the thumb drive contents.
…and if your boss whines about expense, you can point out that even if SAP offered such a class, it would likely cost quiiiteee a bit more than the ISUG-TECH conference + workshop fee (yes, you do have to register for the workshop separately).
One difference this year is that I have tremendously expanded the materials based on a different approach – particularly with tons more examples. One problem with trying to teach something that you have learned over years of repetition is sometimes describing a process that you find almost intuitive after years of doing it. For a while, I have been thinking of how to do this with a decision tree – e.g. you start from one point and quickly isolate the problems. Initially, I tried just using basic symptoms only to realize that the conditions for the decisions were getting a bit messy. Then I decided to focus on the *time counters as this is often where I look first. At that point, things started clicking a whole lot better. Mostly, this is working out – there are a few odd junctures to when certain topics are introduced that normally I would have thought should have been discussed earlier….but in this way it makes sense as the features/functions are shown as solution to the problem.
One of the interesting aspects of this is that I have found that it presented an incredible opportunity to document many of the common problems that happen and how to work around them, resolve them, whatever. For example, when using DSIHQ for HVAR/RTL processing, one of the common issues that results in extremely slow throughput is the constant retrying with smaller group sizes when there is a failure. For that aspect alone, I came up with over a half a dozen common problems that I have seen – some recently….and some new answers thanks to advances in ASE and greater adoption of ASE 15.7 over last year. For example, a customer recently was having issues in which one table with a function string (non-compilable) was referenced by another table that was compilable. The problem is that RS submits compilable statements ahead of non-compilable statements, which results in a fkey constraint failure as the child table’s rows arrive ahead of the parent non-compilable table. While engineering and support offered a work-around (that I think worked – we didn’t hear anything back), the work-around was less than optimal as it could lead to slowness in other situations. One option instead was to implement ‘set disable_ri_check on’ (ASE 15.7 ESD 2+) in the rs_usedb fstring to disable the fkey constraint check. For RTL/IQ customers, you can do the same thing with an option of the same name – but better yet, you can make it permanent for the maintenance user.
…and if you are running SAP on ASE and thinking about the DR Agent or HADR and wonder if what I just said was gobbledygook, the answer is that HVAR is enabled by default for DR Agent/HADR…..sooooooo…..you might wanna learn what is happening under the covers…..
…which, of course, along the way of discussing performance, we discuss the guts & gore of SAP Replication Server – all the threads, modules, etc. Sooooo…..if you ever wanted to know….come to ISUG-TECH, and stay a day late for the workshop.