3. Agenda
• What Is DDF?
• Why Do I Care About DDF?
• Tutorial
• Client 1 – Some Basic Statistics
• Client 2 - A CPU Spike
• Client 3 – Sloshing Or Not?
• Client 3 Again – Some Gratuitous Nosiness?
• Conclusion
6. Feral Versus Production DDF
• Essentially two styles of DDF application:
• Production:
• Regular arrival pattern and shape
• Examples: SAP, Websphere Application Server
• Managed by some IT people, somewhere
• Likely to be tunable
• Feral:
• Could come from anywhere, at any time
• Examples: Excel, z/OS Batch with Type 4 JDBC connections
• Not managed, other than by the user
• Whose desk will you show up at with your shillelagh? J
• Important to know which you’ve got
• And you might well have both
• Different management approaches likely to be needed
16. SMF 30 Contains Transaction Rate
• SMF30ETC is Independent Enclave Transaction Rate Count
• Process for DIST address space
• Counts transactions for all DDF service classes served by the
subsystem
• Likewise doesn't distinguish between period endings
• Many customers have multiple DB2 subsystems per LPAR
• Unnecessary to have separate service classes for each
• SMF30ETC lets you see how busy, transactionwise, each subsystem
is
• Could usefully divide Enclave CPU by transaction rate
• Can't do this for CICS
• Since I first wrote these slides I wrote RENCCSV
• In our tools hunts for all Enclave-using address spaces
17.
18. DDF And The DB2 Accounting Trace (SMF 101) Record
• Everything you'd expect from a 101 record
• e.g. Timings
• e.g. SQL Counts
• Plus more:
• DDF Identifiers (QMDA section)
• DDF Counters (QLAC section)
• WLM Service Class (QWACWLME)
• Records for requester and for server
• DB2 on z/OS to DB2 on z/OS appears twice
• One in each subsystem
• Records can be rolled up
• ACCUMACC=10 is default
• 10th Commit / Rollback
• Or some other obscure cases
• ACCUMACC=NO
• 1 per Commit / Rollback
• Can calculate ACCUMACC value from SMF 101
19. QMDA and QLAC Sections
• QMDA – identifiers
• Different for z/OS and other platforms
• Useful for designing DDF WLM classification rules
• Accounting Information
• IP Address / Net Name
• End User ID
• z/OS DB2 Correlation / Plan information
• …
• QLAC – counters
• Common across all platforms
• Sent & Received
• SQL Statements
• Bytes
• Rows
• Blocks
• Commits / Aborts
• …
21. Batch And DDF – Strange Bedfellows?
• SAP Batch is not JES Batch
• A bunch of "transactions" ie SMF 101 records
• Unique correlator in QWHS section
• Plotting commit (or record) rate by minute times the job
• Gives better granularity than JES Batch
• Eg Varying effect of CPU queuing – Not Accounted For time
• Bulk (“Batch” if you like) processing can present a
problem:
• Frequent committers might not period age
• Always in Period 1, even after hours
• Two approaches:
• Use Resource Groups to control overall access to CPU
• Separate out Bulk into its own Service Class
• But how to distinguish?
• Give a less lofty goal
• These approaches not mutually incompatible
22. Batch And DDF – Strange Bedfellows? …
• Conversely, some JES Batch uses DDF
• Job J attaches to Subsystem A
• Subsystem A talks DDF to Subsystem B
• Field QTXAOTSE for A documents time spent in B and
communicating
• Collect SMF 101 from both subsystems
• Correlators in QWHS sections match
• Apart from Commit Count
• In practice 101 timestamps don't match
• Server DB2 some minutes later
40. Sloshing
• My term
• But customers seem to like the emotional payload of the term
• Describes situation where work rushes from one subsystem
(or LPAR) to another
• Work rushes to a "good" place to run it
• Suddenly not so good anymore
• Matters more at 90%+ average utilisation than at 50%
• A byproduct of SERVERWLM
• Round robin wouldn't induce this
• You probably wouldn't see this in RMF or SMF 30
• But SMF 101 goes down to 100th of a second granularity