View previous topic :: View next topic
|
Author |
Message |
sureshkumar_p01
New User
Joined: 22 Feb 2007 Posts: 7 Location: bangalore
|
|
|
|
Hi All,
I jus need to know wat r the ways in which we can improve the performance of an IMS DB code. i.e. how can we do performance tuning to an IMS DB code.
Kindly help me out.
Thanks in Advance,
Suresh |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Well, you could start by posting the DLI-calls and the database structure (i.e DBD) so we can check the way you manouver through the databases. If i.e you need to retrieve more segments in a hierargy you might consider a pathcall.
You also may have a look at the sticky describing the database manager. |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
Do you have BTS at your installation? Do you have something like Omegamon? BTS is an IMS utility that you as a programmer use. Omeg is generally used by your DBA team and they will certainly let you know if you have a PIG executing in the system. |
|
Back to top |
|
|
Devzee
Active Member
Joined: 20 Jan 2007 Posts: 684 Location: Hollywood
|
|
|
|
Quote: |
improve the performance of an IMS DB code |
It really depends on what type of code you are looking and analyzing to improve the performance. If you post some scenarios then someone can help you.
I'll give an example - if the program issues only one GN call to read segments sequentially from a database - Then one would think the DLI call has all valid parameters, and it reads sequentially. This is no harm if the database has few hundreds of segment occurances, but if the database has millions of segment occurance then this 1 DLI call brings down your performance.
Do you code DLI or BMP jobs?
Use Checkpoint and Restart |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
One more little thing to think about. If you do not need info from a segment at a higher level, you do not need to access it. You do not need to do path calls. Set your SSA up just to look at the segment level that you need. For instance, you have a root segment that is the customer - the 2nd level under that is the order number - the 3rd level under the order is what you need - let's say the line items. So, you use only that line item SSA when you are going thru the database. (Let's just say that the reason you want to do this is because you need to remove certain items from inventory - or whatever or finalize the order). Once you have your line item segment, you can look at the key feedback area in your PCB. It will contain the concatenated keys of the segments above where you are now POSITIONED. Let's say you have used GHN qualified to look for those line items. You got a hit. You don't want to lose your POSITION on the line items. You have set up another PCB for the same database. Your GHN PCB (1) has you on the line items. You can then build key qualified SSA's and go after the segments above with your second PCB (2). I have used multiple PCBs in IMS programs and I it and it is much more effiecient. Just be careful that you always know where y ou are.....there is a very naughty thing that can happen and it is called a DEADLY EMBRACE. Isn't IMS GREAT!!! |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Multiple positioning, double PCB's and command codes are the key to successfull access....... Just doubt if this is the right forum to discus superdooper stuff. May be admin will be willing to open a kind of moderators only discussion forum where we can post our thoughts about IMS. And...... I understand why you bolded the positioning; understanding these kind of things allow you to write well performing applications as does a (secondary) index, analysing datamodels, relationships, access paths, priorities for batch/online and so on....... It's the complete package of requirements that decides how the databases and everything else are designed. |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
Exactly - but why not learn these things and keep them in the back of your mind - that is the power of IMS. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Sandy Zimmer wrote: |
Exactly - but why not learn these things and keep them in the back of your mind - that is the power of IMS. |
Sandy: please search the IMS DB/DC forum for posts by me containing 'learn', 'understand' and 'comprehend' I posted stickies so people could find the way to the FINE documentation too. In the Netherland we've got a saying: "Roepende in de woestijn". (Caller in the desert translated 1:1). May be the pressure is too high and there's a lack of time to read through the documentation, learn, understand and comprehend. Still it's the only way to become a good IMS developper and prevent copying tricks even if they are wrong orr bad code.
PS: no hard feelings to posters posting without studying first; there might be a good reason for posting 'in a hurry' so we go on helping them. |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
George - I understand what you are saying. Are these people just learning or are they working on real-live applications or a combination? I am thankful every day that I had "mentors". I think that first, everyone needs a real understanding of how IMS works - the components, the realities, the chicken and the egg......etc - practical applications. I still say that the best lessons learned are those learned by error - 9 times out of 10, you will never make that mistake again. But, sometimes people are so lost, that they do not know the correct questions to ask? Maybe they can post what research process they have gone thru before posting? Maybe they can also say whether this is a "real" problem - a real life on the job problem? |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Sandy: most of the time it's a combination of learning and real work. When some people get a job or assignment to maintain the old stuff which has been outsourced to them there's little time for real training and education. I myself expirienced this when I first joined a softwarehouse (CMG). One should realise nowadays in our countries there are no 'instant experts' pretending to know all about it. In new booming areas there's a lack of IMS developpers (and also at other fields) so it tends to increase the number of 'instant experts'. Being an instant expert brings a lot of stress and lack of time; the boss has to make a profit so........ |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
OK. I understand. I will still continue to help and try to get the poster to narrow down the range of the question. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Thanks, you're posts are more than wellcome as I PM-ed you.........but yet we should encourage them to some reading before posting. I use to do this by posting links to the FINE documentation where they can find what's going on. And as for freshers and students: I look at all postst from 'above', step back and then analyse what the purpose of the question is. Thus recognising the type of character and purpose who's behind the question. Anyway: there's a new forum under construction for freshers and students right here |
|
Back to top |
|
|
|