cancel
Showing results for 
Search instead for 
Did you mean: 

Comparing system utilization to ST03 CPU time

Former Member
0 Kudos

My question boils down to this: Is all of the CPU time used by the SAP application server (the disp+work processes) reported in the ST03 statistics records?

The background: I'm comparing system utilization (as reported by PerfMon or NMON) to an estimated utilization computed from the CPU time reported in the ST03 statistics records. My results are mixed. It seems there is CPU used by the application server that is not reported in the ST03 records.

In some cases, the system utilization compares favorably to the ST03 CPU time. But I have several cases where the difference between the system utilization and ST03 CPU time is significant - the estimated utilization from ST03 CPU time is 2/3 of that reported by the system monitor.

Some observations: The missing utilization seems to be load dependent, meaning as the load increases so does the missing time. So what is happening in the application server that is consuming CPU time but is not being reported in ST03 records? Also, the percentage of missing utilization depends on the business transaction. A light-weight query has more missing utilization than a heavy-wieght update transaction.

I'm estimating the system utilization from the ST03 data as follows:

 estimated system utilization = sum (ST03 CPU Seconds) / (duration * number CPUs)

where 'duration' is the number of seconds in the measurement period. Basically, the numerator is the number of CPU seconds used and the denominator is the maximum number of CPU seconds available.

Any thoughts are appreciated.

Thanks.

--

Tim

Accepted Solutions (0)

Answers (2)

Answers (2)

ashish_vikas
Active Contributor
0 Kudos

just wanted to bring it to your notice that most of the other processes than workprocesses, run which comes in user utilization like ... message server ... higher the load on SAP, more utilization by workprocesses and more correct you are finding ST03.

Former Member
0 Kudos

Closing the question until more information is found.

Thanks.

--

Tim

Former Member
0 Kudos

Hi Tim,

It seems that your obeservation holds good upto some extent but some time it

makes me confuse too.

Did you check your CPU utilisation activity in ST06 ot ST06N and what it says?

Whats the time recorded under Processing Time.

Proc time = Response time - Wait time - Load time - Generating time -

-Roll (in+wait) time - DB time - Enqueue time

Please ensure that processing time should not be more than 2*CPU time and if it occurs then ther may be a chance of H/W bottleneck but if you will check the ST06 statistics about the CPU utilisation under different coloums then can have a better idea about the bottleneck.

Yes you are correct the statistics captured in the ST03 it shows the CPU time for the disp+wp till that task completes.

Just check if roll wait time is high or not ?? The 'roll wait time' is time during which a work process waits for an RFC. The user context is in the status 'rolled

out'. At this time, no resources are worn out during an RFC on the

regarded server. Therefore, the 'roll wait time' is calculated from out

of the 'response time'.

I think i explained few of the concept if you still want to know more about it just

reply back.

Thankyou,

Tilak

Former Member
0 Kudos

> Yes you are correct the statistics captured in the ST03 it shows the CPU time for the disp+wp till that task completes

Ok.

> Just check if roll wait time is high or not ?? The 'roll wait time' is time during which a work process waits for an RFC. The user context is in the status 'rolled out'. At this time, no resources are worn out during an RFC on the regarded server. Therefore, the 'roll wait time' is calculated from out of the 'response time'.

So 'roll wait' consumes no CPU. This brings up a good point, though: Does roll-in, load, or roll-out cause CPU to be used by the disp+work processes, but that is not recorded in the dialog step CPU time?

This would make sense. By definition, CPU time is part of processing time, but roll-in, load, and roll-out are not part of processing time. In some sense, roll-in, load, and roll-out is overhead that is not attributed to the dialog step CPU usage.

Also, load, roll-in, and roll-out are load dependent - they increase with the number of dialog steps. But it is probably also fairly constant across dialog steps. Light dialog step have the same amount of overhead as heavier ones.

So for light weight transactions that don't use a lot of CPU, the overhead is a signficant part of the dispwork time. But for heavier transactions, the dialog CPU time is the larger part of dispwork time.

Makes sense to me.

Thanks for your response

--

Tim