First, I'm glad I found a such place like this ! Sencond, I would like to get some opinions here, as this is my first time working with SMF/RMF .
As we all know, no existing MIPS table can adequately quantify the capacity of one System z processor against another. Every documentation remind us to "Never use a MIPS table for capacity planning purposes!"
Right, so I came with some numbers I found in the RMF's “Workload Activity Reportâ€, specifically the “Workload Group and Service Class Period Reportâ€. The “Processor Engine requirement†– or how much an given application needs from a processor (%) in order to work. Well, at least this is my understanding...
My understanding is that in this report, we have relevant values under CP field in APPL% session, which shows the number of processor engines required to drive the work. In my example here (covering Broker and DB2 classes), the relevant active transactions in the system (field AVG under TRANSACTIONS) require the given % of a processor engine (one CP) to support their work.
W O R K L O A D A C T I V I T Y
REPORT BY: POLICY=NORMAL REPORT CLASS=BROKER
--TIME-- -TRANSACTIONS- ---APPL %--- ----STORAGE----
11.10.00 AVG 6.00 CP 1.62 AVG 85299.88
11.15.00 AVG 6.00 CP 21.17 AVG 85442.83
11.20.00 AVG 6.00 CP 4.34 AVG 85987.75
11.25.00 AVG 6.00 CP 20.32 AVG 85855.58
11.30.00 AVG 6.00 CP 21.05 AVG 85651.33
11.35.00 AVG 6.00 CP 0.25 AVG 85990.53
REPORT BY: POLICY=NORMAL REPORT CLASS=DB2
--TIME-- -TRANSACTIONS- ---APPL %--- ----STORAGE----
11.10.00 AVG 9.07 CP 0.34 AVG 14545.78
11.15.00 AVG 10.00 CP 2.76 AVG 13262.00
11.20.00 AVG 10.00 CP 2.72 AVG 13262.43
11.25.00 AVG 10.00 CP 2.66 AVG 13262.32
11.30.00 AVG 9.34 CP 0.67 AVG 14125.01
11.35.00 AVG 9.16 CP 0.15 AVG 14379.83
REPORT BY: POLICY=NORMAL REPORT CLASS=BROKER
--TIME-- -TRANSACTIONS- ---APPL %--- ----STORAGE----
11.10.00 AVG 6.00 CP 1.62 AVG 85299.88
11.15.00 AVG 6.00 CP 21.17 AVG 85442.83
11.20.00 AVG 6.00 CP 4.34 AVG 85987.75
11.25.00 AVG 6.00 CP 20.32 AVG 85855.58
11.30.00 AVG 6.00 CP 21.05 AVG 85651.33
11.35.00 AVG 6.00 CP 0.25 AVG 85990.53
REPORT BY: POLICY=NORMAL REPORT CLASS=DB2
--TIME-- -TRANSACTIONS- ---APPL %--- ----STORAGE----
11.10.00 AVG 9.07 CP 0.34 AVG 14545.78
11.15.00 AVG 10.00 CP 2.76 AVG 13262.00
11.20.00 AVG 10.00 CP 2.72 AVG 13262.43
11.25.00 AVG 10.00 CP 2.66 AVG 13262.32
11.30.00 AVG 9.34 CP 0.67 AVG 14125.01
11.35.00 AVG 9.16 CP 0.15 AVG 14379.83
So I think I can use the following formula:
SUM(APPL CP) ÷ SUM(AVG TRANSACTIONS)= Avg CPU % / Transaction
which in my example is
6.50 ÷ 9.08 = 0.716% of 1 CPU per transaction
The Total CPU Runtime is not considered in these numbers, but only the CPU Room Time; any waiting time (by resources, contention or any other reason) is not considered. Saying this, the same message can take 1 minute in one machine but 15 seconds in another and still have the same rates for its CPU % per transaction.
My conclusion is that using this methodology, it doesn't matter the machine's model, how powerful is the processor, nor how many processors it has: the numbers will show the percentage needs of 1 single processor to run 1 single transaction in the system. In this way, I'm able to compare the numbers in ANY machine, with their own parameters.
Am I going crazy?
-----
Cheers,
e.m