Benchmark turns into zeros after 28 seconds using fixed iorate

user13692423

    I have an issue when I use a specific iorate number. If a value is set for the iorate iops, the vdbench execution will result in zeros after 28 seconds.

     

    12:05:50.078          22    36125.0  2257.81   65536   9.66   26.003   16.527   27.017   199.79   259.71   52.022  947.2  15.4   9.9
    12:05:51.053          23    35816.0  2238.50   65536  10.26    2.005    4.161    1.758    82.74    13.03    1.714   79.6  15.9  10.2
    12:05:52.052          24    35874.0  2242.13   65536   9.86   13.770    8.149   14.386    88.81   124.27   24.448  502.0  15.1   9.8
    12:05:53.049          25    35666.0  2229.13   65536  10.10    3.716    3.865    3.699    31.43    66.25    7.397  140.5  16.4  10.4
    12:05:54.049          26    36030.0  2251.88   65536  10.19    6.092    5.154    6.198    47.11    84.14   13.749  227.5  15.8  10.0
    12:05:55.051          27    35884.0  2242.75   65536  10.04    2.023    3.823    1.822    28.76    14.23    1.069   80.6  15.9  10.3
    12:05:56.056          28    35822.0  2238.88   65536  10.02    2.049    4.318    1.796   118.69    10.60    2.276   81.5  18.4  11.8
    12:05:57.052          29    16121.0  1007.56   65536  10.07    1.912    4.066    1.671    78.33     9.33    1.722   38.7   7.6   4.5
    12:05:58.046          30        0.0     0.00       0   0.00    0.000    0.000    0.000     0.00     0.00    0.000    8.0   2.0   0.9
    
    
    May 30, 2019    interval        i/o   MB/sec   bytes   read     resp     read    write     read    write     resp  queue  cpu%  cpu%
                                   rate  1024**2     i/o    pct     time     resp     resp      max      max   stddev  depth sys+u   sys
    12:05:59.064          31        0.0     0.00       0   0.00    0.000    0.000    0.000     0.00     0.00    0.000    8.0   1.8   0.8
    12:06:00.043          32        0.0     0.00       0   0.00    0.000    0.000    0.000     0.00     0.00    0.000    8.0   2.0   0.7
    12:06:01.049          33        0.0     0.00       0   0.00    0.000    0.000    0.000     0.00     0.00    0.000    8.0   1.6   0.7
    12:06:02.046          34        0.0     0.00       0   0.00    0.000    0.000    0.000     0.00     0.00    0.000    8.0   1.6   0.8
    12:06:03.044          35        0.0     0.00       0   0.00    0.000    0.000    0.000     0.00     0.00    0.000    8.0   1.8   0.8
    12:06:04.046          36        0.0     0.00       0   0.00    0.000    0.000    0.000     0.00     0.00    0.000    8.0   1.6   0.8
    12:06:05.046          37        0.0     0.00       0   0.00    0.000    0.000    0.000     0.00     0.00    0.000    8.0   1.9   0.9
    

     

    However if the iorate is set to 'max', it runs fine.

     

    I came across one discussion with the same behavior. The suggestion was to change the '-client' java parameter in vdbench script to '-d64'.

    I made these changes but I am still having the same issue.

     

    My java version

    # ./java -version

    java version "1.8.0_211"

    Java(TM) SE Runtime Environment (build 1.8.0_211-b12)

    Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

     

    My rd parameter

    rd=run1,wd=wd*,iorate=36000,elapsed=84300

     

    I have a total of 500 luns defined for each sd and a wd workload defined for each.

    sd=sd1,openflags=o_direct,lun=/dev/dm-3

    wd=wd1,sd=sd1,seekpct=0,rdpct=10,xfersize=64k

     

    These two lines repeat for every lun defined up to 500 with the only change is the sd and wd numeration.

     

    if [ "$1" == "SlaveJvm" ]; then

      $java -d64 -Xmx1024m -Xms128m -cp $cp Vdb.SlaveJvm $*

      exit $?

    else

      $java -d64 -Xmx512m  -Xms64m  -cp $cp Vdb.Vdbmain $*

      exit $?

    fi