louwrentius / fio-plot

Create charts from FIO storage benchmark tool output
BSD 3-Clause "New" or "Revised" License
370 stars 87 forks source link

Reference to #29 - Graph Time line #30

Closed rahvis closed 4 years ago

rahvis commented 4 years ago

I have ran the benchmark for 15 minutes, but when I plot I get the x-axis (time in second) for only 14 seconds. Is there any flag to enable the plotting for the the time duration till the benchmark was ran?

1K_4K_15_MIN_RANDOM_WRITE-2020-08-08_114507

louwrentius commented 4 years ago

Thanks for uour report, could you share your test data in a zip so I can try and reproduce it?

On 8 Aug 2020, at 17:57, Rahul Vishwakarma notifications@github.com wrote:

 I have ran the benchmark for 15 minutes, but when I plot I get the x-axis (time in second) for only 14 seconds. Is there any flag to enable the plotting for the the time duration till the benchmark was ran?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

rahvis commented 4 years ago

@louwrentius : Thanks for the reply. I am attaching the .zip file here. I ran this benchmark for 15 minutes as random write (--duration 15).

Single Benchmark ran for 15 minutes (1.4 MB): 1024k.zip

Start time:  Aug  7  17:42
End time:    Aug  7  20:16

Complete Benchmark PMEM0_RW_15M.zip

louwrentius commented 4 years ago

Thanks, but the argument (passed to Fio) is in seconds I think...

On 9 Aug 2020, at 11:09, Rahul Vishwakarma notifications@github.com wrote:

 @louwrentius : Thanks for the reply. I am attaching the .zip file here. I ran this benchmark for 15 minutes as random write (--duration 15). PMEM0_RW_15M.zip

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

rahvis commented 4 years ago

I still I have a doubt about that "--duration 30" is in minutes as it actually ran for 30 minutes and this time I see the graphs also showing y-axis till 30. I am also attaching the logs. Requesting you to please confirm if the --duration is in minutes or seconds?

30min_4k.zip

[root@localhost tmp]# /root/anaconda3/bin/python /root/fio-plot/benchmark_script/bench_fio --target /dev/pmem0 --type device --engine libpmem --loginterval 500 --duration 30 -b 4k --template /root/fio-plot/benchmark_script/fio-job-template.fio -m randwrite --output PMEM_4K &
[1] 286502
[root@localhost tmp]#  
█████████████████████████████████████████████████████████████████████████████████████
                           +++ Fio Benchmark Script +++

Estimated duration            : 0:24:30
Test target                   : /dev/pmem0
Job template                  : /root/fio-plot/benchmark_script/fio-job-template.fio
I/O Engine                    : libpmem
Test mode (read/write)        : randwrite
IOdepth to be tested          : 1 2 4 8 16 32 64
NumJobs to be tested          : 1 2 4 8 16 32 64
Block size                    : 4k
Direct I/O                    : 1
Time duration per test (s)    : 30
Log interval of perf data     : 500
Invalidate buffer cache       : 1
Target type                   : device
Output folder                 : PMEM_4K

█████████████████████████████████████████████████████████████████████████████████████
 100% |█████████████████████████|   [0:31:36, 0:00:00]-]

[root@localhost tmp]# /root/anaconda3/bin/python /root/fio-plot/fio_plot/fio_plot -i /tmp/PMEM_4K/pmem0/4k -T "plot duration 30 min 4k random write" -g -r randwrite -t iops lat -d 1 8 16 -n 1

plot-duration-30-min-4k-random-write-2020-08-09_062440

louwrentius commented 4 years ago

Sorry for not responding, but I will look into this, there could be something wrong with my scaling logic.

louwrentius commented 4 years ago

I just took a look at the .log data and I only see 15 seconds worth of data:

pmem0/4k$ vi randwrite-iodepth-1-numjobs-1_iops.1.log

1 500, 146138, 1, 0 2 1000, 156922, 1, 0 3 1500, 162822, 1, 0 4 2000, 150598, 1, 0 5 2500, 134670, 1, 0 6 3000, 140340, 1, 0 7 3500, 134136, 1, 0 8 4000, 129832, 1, 0 9 4500, 129018, 1, 0 10 5000, 139574, 1, 0 11 5500, 154780, 1, 0 12 6000, 141608, 1, 0 13 6501, 139477, 1, 0 14 7000, 136158, 1, 0 15 7500, 136326, 1, 0 16 8000, 137518, 1, 0 17 8500, 136154, 1, 0 18 9001, 137081, 1, 0 19 9500, 29916, 1, 0 20 11000, 796, 1, 0 21 12000, 39394, 1, 0 22 12500, 116440, 1, 0 23 13000, 128728, 1, 0 24 13500, 154818, 1, 0 25 14000, 147586, 1, 0 26 14501, 144596, 1, 0

If I look in one of the .json files I notice: "runtime" : "15"

I have looked at some other files and it seems that this is true for those as well. I would recommend running the benchmarks again with the appropriate runtime parameter. Feel free to reopen this issue if you can reproduce it.