This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
IBM Software Group
IMS Parallel Sysplex Best PracticesORIGINAL PRESENTATION BY DAVE VIGUERS
• VSAM – directory only structure• Make large enough to avoid directory reclaims
• Use CFSIZER tool on the web
• OSAM – directory only structure• Avoid directory reclaims also
• OSAM – with data caching
7
• OSAM – with data caching• Use selectively if at all
• Product publications and redbooks for options and considerations
• FP VSO structures• Preload and non preload
• May improve access times which can reduce transaction time
C ache s truc tu re cons ide ra tions
• Duplex FP VSO structures• IMS duplexing performs best
• Avoid loss of structure causing recovery being needed
• Place the duplexed structures in separate CFs
• Specify INITSIZE and SIZE for all cache structures• Allows size to be adjusted if necessary
8
• Specify MINSIZE equal to INITSIZE if using AUTOALTER
• Monitor the structures to insure no directory reclaims• Look for CASTOUTS in the RMF CF structure activity report
IMS Data Sharing - IRLM (1)
• Set MAXUSRS no larger than necessary• Maximum IRLM’s expected in data sharing group
• Minimize size of each lock table entry• 2, 4, or 8 bytes depending on setting• 1-7 = 2 bytes, 8-23=4 bytes, 24+ = 8 bytes
• Maximizes hash table size which keeps false contention low
• Set DEADLOK value low• 1 second or less for production
• Values 100 to 9999 in milliseconds, 1 to 99 in seconds (Maximum 5).
9
• IRLM synchronizes the DEADLOK values to the most recent IRLM to join the group
• Can be modified by F irlmproc,SET,DEADLOCK=nnn
• IRLMNM• Consider making the same for all IRLM’s
• Allows IMS to connect to any IRLM on any LPAR
• Do not specify LOCKTABL in IRLM procedure• Use CFNAMES in DFSVSMxx
• SCOPE NODISCON if running batch data sharing jobs• If online IMS not active then avoids structure connect/disconnect
IMS Data Sharing - IRLM (2)
• PC=YES• Only value used with IRLM 2.2 and 2.3
• Avoid LTE= value• Default is ½ the structure size for hash entries• Might give undesired results if structure size altered
• Set LOCK structure size to power of 2• IRLM will adjust LTE’s down to power of 2 after dividing structure in half• Don’t skimp – avoid false contention
10
• Don’t skimp – avoid false contention• 96 or 128 meg is sufficient for most environments – still relatively
small structure with current amounts of available CF memory
• Specify MINSIZE, INITSIZE, and SIZE• Allow for possible ALTER
• Carefully consider system managed duplexing• Only use if necessary for availability• However, without duplexing, separate the lock structure from the
exploiting IRLM lock manager subsystems into a failure isolated location (different mainframe).
MISCELLANEOUS DB related
• DFSVSMxx• Use same member if clones
• Avoids oversights if multiple members and changes being made
• New member could be used to verify changes• Define Fast Path DEDB buffer pools for all used SVSO CI sizes
• Use LKASID with AREAs that do not have SDEPs• Separate pools for SDEP AREAs with NOLKASID option
• FDBR
11
• FDBR• Be sure it runs on separate LPAR from the IMS that it is tracking
• Preferably also a separate physical machine
• FDBR PSB pool sizes the same or larger than active IMS
• Set LOCKTIME with IRLM command or in DFSVSMxx• Default of 300 seconds is too high• Monitor for DXR162I – Long lock timeout
Applications
• Review PROCOPT settings• Many applications use A when only G is needed
• Avoid lock contention when possible
• Watch for ‘CONTROL’ type databases • Avoid single segment updates by parallel applications
12
• Avoid single segment updates by parallel applications
• Typically things such as maintaining sequence numbers and unique timestamps
• Avoid calls outside of IMS• Especially when holding locks
• Could be IMS or DB2
• Like APPC, MQ, Sync callout
IMS Shared Queues
• Automate CQS System Checkpoints• SYSCHKPT value can not be changed dynamically• SYSCHKPT value is for each CQS (in CQSSLxxx)
• A failing CQS must read records created by all CQS’s
• Using DS8000 DASD, CQS can read about 56,000 records per second
• Automate CQS Structure Checkpoints• No IMS defined way to cause these• Affects structure recovery time if necessary
13
• Affects structure recovery time if necessary• Structure activity is quiesced from all CQSs is during the checkpoint
• Stagger EMH and FF structure checkpoints if using both• Minimize delays
• Place SRDS’s on separate volumes and paths if possible• Avoid single point of failure
• Use MSGBASED processing for CFRM CDS• Minimize time to quiesce and resume at checkpoint
IMS Shared Queues Structures
• Specify both SIZE and INITSIZE• Facilitate structure alter
• Allocate Overflow structure larger than primary• In case one or two queue names filling the primary
• Specify correct OBJAVGSZ in CQSSGxxx
14
• Specify correct OBJAVGSZ in CQSSGxxx• Determines entry to element ratio
• CQS monitors only elements for overflow
• 1:1 if in doubt
• Use AUTOALTER • XES can dynamically adjust ratio
• Specify MINSIZE to prevent XES from reducing size
CQS and the z/OS Logger (1)
• Use external CF’s to avoid use of Staging Data Sets• Might need staging for D.R. however
• If using staging data sets allocate enough space• Much larger than structure
• Either one reaching threshold causes offload
15
• Set structure size and full threshold carefully• Try to allow time to react if offload should fail
• Set offload data set size large• Reduce allocations for new data sets
• Takes longer than just offloading to existing
• Set LOWOFFLOAD value to 0• For CQS logging it makes no sense to do otherwise
CQS and the z/OS Logger (2)
• Set HIGHLOWOFFLOAD value to 50 – 60%• You never want to reach full
• Some time should offload fail
• Set MAXBUFSIZE to 65276• Largest size to use 256 byte elements
• Minimize wasted space
16
• Minimize wasted space
• Specify ALLOWAUTOALT(NO) for logger structure• Logger monitors and will alter if necessary
• Use separate structures for FF and FP log streams• Different characteristics
• Use IXGRPT to monitor• Redbook on MVS Logger (SG24-6898)
SMQ false scheduling
• Use PWFI and dedicated regions for high volume transactions
• Avoids scheduling – real and false
• IMS algorithm tends to keep more transactions local
• Use PARLIM of 2 or more if possible
17
• Use PARLIM of 2 or more if possible• Avoids local false schedules in IMS Version 10 and below
• IMS Version 11 enhanced to handle 0 and 1 better
• z/OS 1.10 otherwise shut down and delete archive log
• Use commit mode 0• Avoids RRS cascaded transaction support
• Allocate RRS Delayed structure to avoid offload• UOW’s are deleted when no longer needed
18
• UOW’s are deleted when no longer needed• Use IXGRPT to monitor
• IMS 12 eliminates the need for RRS with APPC synchronous conversations and OTMA CM1 (Send-then-Commit) transactions with sync level of NONE or CONFIRM
• Communications uses XCF services• Synclevel=syncpoint still requires RRS
IMS Connectivity
• Set HWSHWS00 as non-swappable in PPT
• If not then response times could vary widely
• Specify to IMS connect a DATASTORE for each IMS
• Allow for routing to multiple IMS subsystems
• Workload balancing and availability
• Set TCPNODELAY=ENABLE and NODELAYACK for TCP/IP
• Minimize delays with TCP/IP
19
• Minimize delays with TCP/IP
• Set ECB=Y, IPV6=Y and NODELAY=Y in HWSCFGxx
• Use VTAM generic resources for SNA
• Workload balancing and availability
• Use IMS RM with STM
• End user availability especially with conversations
• Exercise care with DRA (DFSPZPxx) resources
• Adding new connections can have multiplication effect
Miscellaneous
• Be sure that all the structures fit in the surviving Coupling Facilities if one is lost
• Duplexed structures don’t need to be rebuilt at takeover
• Be aware of CF microcode updates• Use CFSIZER web tool prior to any upgrades• Usable structure size may be impacted (typically the control block space
increases)
• For small structures, CFSIZER may give too small recommendation
20
• For small structures, CFSIZER may give too small recommendation• Particularly true with Shared VSO structures
• DASD mirroring• Both synchronous and asynchronous can impact response times• WADS tend to be especially critical
• RRS and CQS logger staging data sets also
• Workload Manager with IMS• Keep simple – avoid going lower than IMS transaction class
• Set server address spaces high• IRLM, DBRC, CTL, DL/I, CQS
Summary
• Tried to hit the main best practices• Health checks good for looking at YOUR
environment
• Primarily sysplex related• Redbook SG24-7817 contains more details
21
• Redbook SG24-7817 contains more details
• Many more for specific components• IEFUTL to prevent S322 & S522
• And related U0113• IEFUSO to prevent S722• And many more