Fedor Loshakov
f8331a4b8e
ziomon: correct throughput calculation in ziorep_printers.cpp
...
During evaluation of the collected ziomon data from the system with following
multipath configuration:
$ multipath -ll
3600507630bffc3200000000000005294 dm-0 IBM,2107900
size=20G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 1:0:0:1083457618 sdd 8:48 active ready running
`- 0:0:0:1083457618 sda 8:0 active ready running
3600507630bffc3200000000000005394 dm-1 IBM,2107900
size=20G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 1:0:0:1083457619 sdf 8:80 active ready running
`- 0:0:0:1083457619 sdb 8:16 active ready running
3600507630bffc3200000000000005494 dm-2 IBM,2107900
size=20G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 1:0:0:1083457620 sdg 8:96 active ready running
`- 0:0:0:1083457620 sdc 8:32 active ready running
3600507630bffc3200000000000005594 dm-3 IBM,2107900
size=20G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 1:0:0:1083457621 sdh 8:112 active ready running
`- 0:0:0:1083457621 sde 8:64 active ready running
there were low throughput values for adapter noticed in ziorep_utilization
virtual adapter report:
$ ziorep_utilization adp_line_speed.log
...
CHP Bus-ID |qdio util.%|queu|fail|-thp in MB/s-|I/O reqs-|
ID max avg full erc rd wrt rd wrt
2021-08-18 12:56:44
61/0.0.1946 32.8 3.1 0 0 0.0 84.5 21 204K
12:57:04
...
there were also low values for throughput of devices noticed in
ziorep_traffic report. And were no aggregation of throughput for
different aggregation parameters provided:
$ ziorep_traffic adp_line_speed.log -i 0
WWPN LUN |I/O rt MB/s|thrp in MB/s-|...
min max avg stdev ...
2021-08-18 12:58:24
0x500507630b09c320:0x4052409400000000 0.0 219.2 85.7 3.352K ...
0x500507630b09c320:0x4053409400000000 0.0 348.6 84.6 3.330K ...
0x500507630b09c320:0x4054409400000000 0.0 268.6 84.0 3.317K ...
0x500507630b09c320:0x4055409400000000 0.0 354.2 83.7 3.312K ...
$ ziorep_traffic adp_line_speed.log -i 0 -Cu
Bus-ID |I/O rt MB/s|thrp in MB/s-|...
min max avg stdev ...
2021-08-18 12:58:24
0.0.1946 0.0 354.2 84.5 3.328K ...
although, iostat tool showed decent throughput values for each scsi disk, which
belongs to investigated zfcp adapter. In this example each scsi disk has
throughput more than 300MB/s, which is much larger, than 84.5MB/s
throughput for the adapter:
$ iostat -x 1
...
Device r/s w/s rkB/s wkB/s ...
dasda 0.00 0.00 0.00 0.00 ...
dasdb 0.00 0.00 0.00 0.00 ...
sda 0.00 2556.00 0.00 327168.00 ...
sdc 0.00 2554.00 0.00 326912.00 ...
sdb 0.00 2559.00 0.00 327552.00 ...
sdf 0.00 2865.00 0.00 366720.00 ...
sdd 0.00 2843.00 0.00 363904.00 ...
sdg 0.00 2845.00 0.00 364160.00 ...
sde 0.00 2471.00 0.00 315416.00 ...
sdh 0.00 2768.00 0.00 353768.00 ...
dm-0 0.00 5399.00 0.00 691072.00 ...
dm-1 0.00 5424.00 0.00 694272.00 ...
dm-2 0.00 5400.00 0.00 691200.00 ...
dm-3 0.00 5240.00 0.00 669312.00 ...
Use Frameset interval size for calculation of throughput of zfcp adapter
instead of d2c (dispatch to complete) time of request, which is used for I/O
rate calculation. Also use Frameset interval instead of total_latency.sum
(which in fact is a sum of d2c times for each repuest in specifed interval).
Use calc_avg() function for throughput calculation.
With fix applied, virtual adapter report now contains correct value for adpater
throughput for specified interval:
$ ziorep_utilization adp_line_speed.log
...
CHP Bus-ID |qdio util.%|queu|fail|-thp in MB/s-|I/O reqs-|
ID max avg full erc rd wrt rd wrt
2021-08-18 12:56:44
61/0.0.1946 32.8 3.1 0 0 0.0 1.336K 21 204K
...
With fix applied, traffic report now contains correct values of
throughput for each device and aggregation now works correctly:
$ ziorep_traffic adp_line_speed.log -i 0
WWPN LUN |I/O rt MB/s|thrp in MB/s-|...
min max avg stdev ...
2021-08-18 12:58:24
0x500507630b09c320:0x4052409400000000 0.0 219.2 339.6 3.352K ...
0x500507630b09c320:0x4053409400000000 0.0 348.6 335.4 3.330K ...
0x500507630b09c320:0x4054409400000000 0.0 268.6 333.1 3.317K ...
0x500507630b09c320:0x4055409400000000 0.0 354.2 331.9 3.312K ...
$ ziorep_traffic adp_line_speed.log -i 0 -Cu
Bus-ID |I/O rt MB/s|thrp in MB/s-|...
min max avg stdev ...
2021-08-18 12:58:24
0.0.1946 0.0 354.2 1.340K 3.328K ...
Signed-off-by: Fedor Loshakov <loshakov@linux.ibm.com >
Reviewed-by: Benjamin Block <bblock@linux.ibm.com >
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com >
2021-11-10 11:50:58 +01:00
Fedor Loshakov
26c544998e
ziomon/ziorep_printers: fix virtual adapter CSV output
...
During using of ziorep_utilization utility for generating of CSV format output,
there is one extra comma added after Bus-ID column in virtual adapter report
for each line. This creates one extra column with empty content for each
line. As a result in CSV viewer programs 'qdio utilization max %' column has
no content, all subsequent columns have shifted content from previous
column and the last column has no header. Avoid this situation by deleting
of extra comma.
Before patch application typical line of virtual adapter report looks like:
2020-05-14 13:55:43,0,60,0.0.1906,,0.000000,0.782567,0,0,0.0,321.8,1,1251
After patch application typical line of virtual adapter report looks like:
2020-05-14 13:55:43,0,60,0.0.1906,0.000000,0.782567,0,0,0.0,321.8,1,1251
Signed-off-by: Fedor Loshakov <loshakov@linux.ibm.com >
Reviewed-by: Julian Wiedmann <jwi@linux.ibm.com >
Reviewed-by: Steffen Maier <maier@linux.ibm.com >
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com >
2020-10-12 13:12:55 +02:00