IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Reduce the number of I/O in a CICS ksds file


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
ami777us

New User


Joined: 06 Apr 2007
Posts: 33
Location: USA

PostPosted: Thu May 17, 2007 10:19 pm
Reply with quote

We are trying to reduce the number of I/O in a ksds.there are some pieces of duplicate codes which we are taking out and reusing the information from a previous program which is already doing the same thing.

As a part of validation,we are looking up Mainview for that specific file with the file hit counts.We are expecting a 10% reduction for the small piece that is taken out but the MYSTERY is when I test it first thing in the morning (The region is recycled and fresh..i am the only one using that region at that time ) I see a high number(13000) of hits for that specific file(i have maintained a tsq counter in that IO prog) in the mainview as well.

However any test(i am following the exact same tran/screen flow etc) after the first one shows a drastic reduction(7500) of the same file being hit in tsq count as well as mainview.

I tried bouncing the region/deleting the temp storage(if it wasnt done progmatically) but never could reproduce the high # of hits like when I do it first thing in morning.

Any ideas where to start from to create this issue apart from the first time ??Everybody here is clueless.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Thu May 17, 2007 10:26 pm
Reply with quote

File hits like in excps?
Data (& index) remain in buffers?
Back to top
View user's profile Send private message
ami777us

New User


Joined: 06 Apr 2007
Posts: 33
Location: USA

PostPosted: Thu May 17, 2007 11:47 pm
Reply with quote

I would think its the excp.

Not sure if the data/index would remain in buffers??How do know that??
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Fri May 18, 2007 1:30 am
Reply with quote

The VSAM cluster maintains the number of EXCP's since creation.

I have deleted, defined and loaded the VSAM cluster each time before the start of any tests to get a fresh start point. Just a sugestion.
Back to top
View user's profile Send private message
ami777us

New User


Joined: 06 Apr 2007
Posts: 33
Location: USA

PostPosted: Fri May 18, 2007 2:21 am
Reply with quote

I tried this but didnot work.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri May 18, 2007 3:51 am
Reply with quote

Hello,

You need to clarify this
Quote:
I tried this but didnot work.


What did not work?

What did you try?

What did you get for a result - some kind of abend, some kind of error, or just something that was not what you expected?

Posting "I tried this but didnot work." will usually not get replies that will help you.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Fri May 18, 2007 5:05 am
Reply with quote

ami777us wrote:
but the MYSTERY is when I test it first thing in the morning (The region is recycled and fresh..i am the only one using that region at that time ) I see a high number(13000) of hits for that specific file(i have maintained a tsq counter in that IO prog) in the mainview as well.
However any test(i am following the exact same tran/screen flow etc) after the first one shows a drastic reduction(7500) of the same file being hit in tsq count as well as mainview.
I tried bouncing the region/deleting the temp storage(if it wasnt done progmatically) but never could reproduce the high # of hits like when I do it first thing in morning.
I am confused by the reference to the tsq counter.
I'm confused by the reference to "bouncing the region".
Depending on the circumstances, if allowed, the buffers available to CICS file control, why reread when it's already read and in memory?
What is handling the VSAM buffers?
Do you close (and flush the buffers) the file between tests?
Long distance debugging is, at best, dang in-accurate.....
Back to top
View user's profile Send private message
ami777us

New User


Joined: 06 Apr 2007
Posts: 33
Location: USA

PostPosted: Fri May 18, 2007 5:42 am
Reply with quote

"I tried the solution given by Expat".

TSQ count is nothing but the number of times the IO module is hit.
Bouncing the region means "shtting down and doing a cold start.

William--What do you mean by flushing the buffers?I donot close files between test
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Fri May 18, 2007 6:14 am
Reply with quote

ami777us wrote:
Bouncing the region means "shtting down and doing a cold start.
What do you mean by flushing the buffers?I donot close files between test
OK, that makes the confusion even greater....shutting down and cold start vs not closing the file.......
There is a problem with what I am reading and what you are writing...
It's like we are speaking different languages.....
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri May 18, 2007 6:44 am
Reply with quote

Hello,

The next few lines may seem a bit jumbled, but i'll try to clarify at the end...

After you bring down the cics region and bring it back up, you go directly into your test where you see the overly high number of hits?

If so, run some trivial transaction (that is not part of the process you are working to tune) that uses this file as the first transaction after coming up. Then, run the problem transaction and see if the count is more reasonable/consistent.

If this is correct?
Quote:
I donot close files between test

How do you bounce the region and not close the files? Bouncing the region will surely "flush the buffers" as they have to be recreated.

...If the only extraordinarly high usage is on the first transaction, i suspect the first transacton is "paying the freight" for resources used by the file open.
Back to top
View user's profile Send private message
ami777us

New User


Joined: 06 Apr 2007
Posts: 33
Location: USA

PostPosted: Fri May 18, 2007 9:51 am
Reply with quote

Dick you correctly understood my question.However I didnot quite nderstand in technical terms asto what do you mean by "paying the freight".Please explain.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri May 18, 2007 7:31 pm
Reply with quote

Hello,

In many cases, the "first" transaction to use a resource requires much more overhead to get started.

In several sites i've been, one of the tasks performed in the cics regions startup is to explicitly open all files and dabatases as part of the open, so the overhead will not impact the first user transaction using that resource.

That initial overhead is what i refer to by the "freight" and often the first use/user has to "pay" for that first-time use. This may or may not be what is happening in your case, but i thought it might be worth a try.
Back to top
View user's profile Send private message
ami777us

New User


Joined: 06 Apr 2007
Posts: 33
Location: USA

PostPosted: Fri May 18, 2007 10:32 pm
Reply with quote

With the help of some displays I have seen that The IO main program is excuted some 5000 times within the other displays of the programs that I thought were important.

But none of those programs actually called the IO.Is there a way to find the porgram that called the IO module for those 5000times so that I can narrow down the research.

I did an AUXTRACE but thats too clumsy to read though.Any kinda help would be appreciated.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Sat May 19, 2007 12:29 am
Reply with quote

Aux trace is not that hard.....
One way might be to have the file come up initially disabled and look at who's complaining.....
Back to top
View user's profile Send private message
ami777us

New User


Joined: 06 Apr 2007
Posts: 33
Location: USA

PostPosted: Sat May 19, 2007 1:12 am
Reply with quote

I did an Assign returnprog on the IO module and found out who was doing the 5000 IO and FINALLy found out that a flag in the program was the culprit.

Thanks for all your help guys!!Wait for the next one!
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sat May 19, 2007 1:16 am
Reply with quote

You're welcome icon_smile.gif

Finding it makes for a bit better weekend icon_wink.gif

Someone will be here for the next one. . . .
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 files and retrive records f... DFSORT/ICETOOL 3
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 8
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Using API Gateway from CICS program CICS 0
Search our Forums:

Back to Top