Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

DL/I call Performance

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> IMS DB/DC
View previous topic :: :: View next topic  
Author Message
Abhishek Saurabh

New User


Joined: 25 Aug 2010
Posts: 23
Location: Pune, India

PostPosted: Sun Sep 16, 2012 8:34 pm    Post subject: DL/I call Performance
Reply with quote

Hi..

I had been trying to find some simple way to check the performance of DL/I calls. There have been some discussions in the past, but I could not get a clear understanding.
I just want to know if there is a simple way of finding the performance (in terms of CPU time) for an individual DL/I call (something like EXPLAIN tables of DB2).
My intention is to carry out a simple analysis and comparison between a set of IMS DB calls and DB2 queries for research purpose.

Any pointers/examples would be helpful.
Back to top
View user's profile Send private message

enrico-sorichetti

Global Moderator


Joined: 14 Mar 2007
Posts: 10211
Location: italy

PostPosted: Sun Sep 16, 2012 9:13 pm    Post subject: Reply to: DL/I call Performance
Reply with quote

Quote:
My intention is to carry out a simple analysis and comparison between a set of IMS DB calls and DB2 queries for research purpose.


unfortunately You are trying to compare different <architectures> different data access constructs

hierarchical VS relational

so <bottom line> a MICRO-comparison at the call level will make little sense
Back to top
View user's profile Send private message
Ed Goodman

Active Member


Joined: 08 Jun 2011
Posts: 556
Location: USA

PostPosted: Mon Sep 17, 2012 7:43 pm    Post subject:
Reply with quote

I don't know of anything that will tell you "this will cause a sequential scan of the index" like you get with EXPLAIN.

Remember that with IMS, you are getting the segments one call at a time. You don't put in a query then process a list of results.

Biggest thing to avoid if you can: Randomized reads. That means the segments being retrieved are not sequential. IMS has a type of database called HDAM (PHDAM for partitioned). These have the segments scattered across the physical database to make sure the newest records aren't together on the disk packs. It helps prevent bottlenecks when accessing the data.

I've seen this with "people in a case." Case and People are separate databases, both randomized. A program is reading the Case database sequentially, then looking up the names of the people in each case. The read of the People database is then random, so you can't buffer for it, and there is always at least one I/O for each person.

Another big killer is using an indexed database, but qualifying the lookups with fields that aren't in the index. It's a little more insidious. You have a nice index on your database, say..SSN for the People. That menas you have a sequential list of SSNs and each one points directly to a People segment. Now, your program comes along and says "find me the SSNs of people in zip code 43230." IMS says fine, I'll go to each SSN, then randomly read the People segment it points to to get the zip code, and I'll get back to you.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> IMS DB/DC All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts BC, BCR, BRC, BRCL performance steve-myers PL/I & Assembler 0 Fri Dec 23, 2016 7:44 am
No new posts PL/I code tuning/Performance improvement Virendra Shambharkar PL/I & Assembler 4 Mon Dec 05, 2016 11:57 am
No new posts What are the way we can improve CPU p... Gunapala CN DB2 10 Mon Oct 24, 2016 2:16 pm
No new posts Cobol EZASOKET call to SETSOCKOPT fails Andi1982 COBOL Programming 6 Thu Oct 06, 2016 7:12 pm
No new posts Strange EXEC function call in z/VM Willy Jensen CLIST & REXX 3 Wed Oct 05, 2016 2:07 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us