Page 1 of 2

Performance of SDSF REXX

PostPosted: Tue Jun 05, 2012 2:06 am
by Viswanathchandru
Dear all,

I would like to know what are all the factors does the performance of a rexx in particular SDSF REXX depends. Here, today i was trying to extract the syslog using SDSF REXX. In the beginning the output dataset record length was 80 and it took around 6 mins to write 48,000(approx) records. Now with the same script the LRECL is 131 it wrote only 7,000 (approx) records. I was confused and curious to know what factor affects the performance. I can understand the LRECL made some changes but it should not be a huge margin.


Regards,
Viswa

Re: Performance of SDSF REXX

PostPosted: Tue Jun 05, 2012 4:03 am
by Pedro
what factor affects the performance.

48000 records vs 7000 records is not a performance question.

You have to give us more information about what the rexx program does. I can imagine it getting a different set of records based on the time. Without using the same input, the record length becomes irrelevant as a comparison.

Re: Performance of SDSF REXX

PostPosted: Tue Jun 05, 2012 11:11 am
by Viswanathchandru
Pedro, Thanks for addressing the post!

The REXX is a SDSF REXX that captures the syslog for the current day into a flat file. It does nothing more than that.

Without using the same input, the record length becomes irrelevant as a comparison.
Here as said on both the cases of LRECL i haven't changed the input. It runs for the current day for the same time interval. If i'm not addressing this as a performance block, what could be the reason for the decrease in number of records written. just curious. Will compiling the rexx would help since i found some performance tips from here. http://publib.boulder.ibm.com/infocenter/zos/v1r12/index.jsp?topic=%2Fcom.ibm.zos.r12.ikja300%2Fikj4a39007.htm. Please advice.


Regards,
Viswa

Re: Performance of SDSF REXX

PostPosted: Tue Jun 05, 2012 11:43 am
by NicC
what could be the reason for the decrease in number of records written

Well, obvious guess number one: fewer records meeting the criteria
Why have things like LRECL changed? Maybe someone changed the program or you, perhaps accidentally, ran a different version of the program although you say it was the same. All sorts of reasons really.

Re: Performance of SDSF REXX

PostPosted: Tue Jun 05, 2012 11:48 am
by Viswanathchandru
Thanks NicC for addressing the post! I changed the LRECL since i was not able to capture the entire syslog. I can see the syslog has got 131 columns. So, I changed it from 80 to 131.

Regards,
Viswa

Re: Performance of SDSF REXX

PostPosted: Tue Jun 05, 2012 12:15 pm
by mongan
The real question is, how are you evaluating this? Elaspsed time is irrelevant because your workload on the system is not a constant, it is constantly changing. So, maybe you want to look at the cpu usage for a half way descent comparison.

Re: Performance of SDSF REXX

PostPosted: Tue Jun 05, 2012 7:02 pm
by Pedro
Changing the LRECL should not result in a change in the number of records.
Show us the source. Without the source we can only guess.

Compiling your rexx will not change the number of records in your file.

My gut feeling is that it is a local time vs system time thing. I do not think you are receiving the same input records. Show us the first timestamp of the first and last records in each case.

Re: Performance of SDSF REXX

PostPosted: Wed Jun 06, 2012 2:36 pm
by Viswanathchandru
Hello Pedro and mongan, Thanks for addressing the post. here is the source. h

/* REXX */
ADDRESS TSO                                               
  "ALLOC DA('ZEAL84.SYSLOG.TEST') F(ISFOUT) SHR REU"     
ADDRESS SDSF "ISFLOG READ TYPE(SYSLOG)"                   
SAY RC                                                     
DO IX=1 TO ISFLINE.0                                       
"EXECIO * DISKW ISFOUT (STEM ISFLINE. FINIS"               
END                                                       
 C=ISFCALLS("OFF")                                         
 EXIT                                                     


I do not think you are receiving the same input records. Show us the first timestamp of the first and last records in each case.

I'm afraid i'm not sure how to get the timestamp ? Please advice.

Regards,
Viswa

Re: Performance of SDSF REXX

PostPosted: Wed Jun 06, 2012 2:52 pm
by Viswanathchandru
Dear all, Again i'm getting confused. I don't understand. How to terminate the script once its done with the process. because its running for a long time say 15 mins. When i try doing it with the TRACE ?R it takes only 30 or 40 seconds to complete 20,000 records and i intrupt it with esc key. Does this script gets into loop. Can anybody advice.

Regards,
Viswa

Re: Performance of SDSF REXX

PostPosted: Wed Jun 06, 2012 5:47 pm
by NicC
That is because the syslog is constantly being written to - probably faster than EXECIO can read it. You should try against an old syslog. Why are you doing this anyway?