microsoft/diskspd

Options -Su -c will vastly change speed for non-Admin user when using -r

VirtualTim opened this issue · 4 comments

Sorry for the wired description, it's kind of a wired issue. Hopefully come command line examples will clear it up.

Non-Admin: diskspd.exe -Su -c2G temp12.dat: 1222 MiB/s
WARNING: Error adjusting token privileges for SeManageVolumePrivilege (error code: 1300)
WARNING: Could not set privileges for setting valid file size; will use a slower method of preparing the file

Command Line: diskspd.exe -Su -c2G temp12.dat

Input parameters:

        timespan:   1
        -------------
        duration: 10s
        warm up time: 5s
        cool down time: 0s
        random seed: 0
        path: 'temp12.dat'
                think time: 0ms
                burst size: 0
                software cache disabled
                using hardware write cache, writethrough off
                performing read test
                block size: 65536
                using sequential I/O (stride: 65536)
                number of outstanding I/O operations: 2
                thread stride size: 0
                threads per file: 1
                using I/O Completion Ports
                IO priority: normal

System information:

        computer name: tlander-pc
        start time: 2021/07/12 05:32:40 UTC

Results for timespan 1:
*******************************************************************************

actual test time:       10.01s
thread count:           1
proc count:             16

CPU |  Usage |  User  |  Kernel |  Idle
-------------------------------------------
   0|  38.75%|   3.91%|   34.84%|  61.25%
   1|   1.72%|   1.40%|    0.31%|  98.28%
   2|   7.03%|   4.69%|    2.34%|  92.97%
   3|   0.78%|   0.16%|    0.63%|  99.22%
   4|   3.13%|   2.66%|    0.47%|  96.88%
   5|   1.41%|   0.94%|    0.47%|  98.59%
   6|   5.00%|   4.06%|    0.94%|  95.00%
   7|   2.66%|   2.50%|    0.16%|  97.34%
   8|   2.81%|   2.19%|    0.63%|  97.19%
   9|   1.88%|   1.25%|    0.63%|  98.13%
  10|   2.81%|   2.66%|    0.16%|  97.19%
  11|   2.50%|   2.34%|    0.16%|  97.50%
  12|   0.78%|   0.31%|    0.47%|  99.22%
  13|   2.03%|   1.25%|    0.78%|  97.97%
  14|   1.41%|   0.16%|    1.25%|  98.59%
  15|   3.28%|   2.03%|    1.25%|  96.72%
-------------------------------------------
avg.|   4.87%|   2.03%|    2.84%|  95.13%

Total IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |     12832276480 |       195805 |    1222.34 |   19557.49 | temp12.dat (2048MiB)
------------------------------------------------------------------------------
total:       12832276480 |       195805 |    1222.34 |   19557.49

Read IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |     12832276480 |       195805 |    1222.34 |   19557.49 | temp12.dat (2048MiB)
------------------------------------------------------------------------------
total:       12832276480 |       195805 |    1222.34 |   19557.49

Write IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |               0 |            0 |       0.00 |       0.00 | temp12.dat (2048MiB)
------------------------------------------------------------------------------
total:                 0 |            0 |       0.00 |       0.00
Non-Admin: diskspd.exe -Su -r4b -c2G temp12.dat: 645 MiB/s
WARNING: Error adjusting token privileges for SeManageVolumePrivilege (error code: 1300)
WARNING: Could not set privileges for setting valid file size; will use a slower method of preparing the file

Command Line: diskspd.exe -Su -r4b -c2G temp12.dat

Input parameters:

        timespan:   1
        -------------
        duration: 10s
        warm up time: 5s
        cool down time: 0s
        random seed: 0
        path: 'temp12.dat'
                think time: 0ms
                burst size: 0
                software cache disabled
                using hardware write cache, writethrough off
                performing read test
                block size: 65536
                using random I/O (alignment: 262144)
                number of outstanding I/O operations: 2
                thread stride size: 0
                threads per file: 1
                using I/O Completion Ports
                IO priority: normal

System information:

        computer name: tlander-pc
        start time: 2021/07/12 05:31:57 UTC

Results for timespan 1:
*******************************************************************************

actual test time:       10.01s
thread count:           1
proc count:             16

CPU |  Usage |  User  |  Kernel |  Idle
-------------------------------------------
   0|  23.56%|   3.59%|   19.97%|  76.44%
   1|   1.87%|   1.40%|    0.47%|  98.13%
   2|   8.11%|   6.08%|    2.03%|  91.89%
   3|   0.62%|   0.47%|    0.16%|  99.38%
   4|   3.59%|   2.81%|    0.78%|  96.41%
   5|   2.03%|   1.40%|    0.62%|  97.97%
   6|   2.34%|   1.87%|    0.47%|  97.66%
   7|   2.65%|   2.02%|    0.62%|  97.35%
   8|   1.72%|   1.40%|    0.31%|  98.28%
   9|   3.12%|   2.81%|    0.31%|  96.88%
  10|   1.09%|   0.78%|    0.31%|  98.91%
  11|   4.52%|   4.37%|    0.16%|  95.48%
  12|   1.87%|   0.47%|    1.40%|  98.13%
  13|   1.56%|   0.47%|    1.09%|  98.44%
  14|   1.25%|   0.16%|    1.09%|  98.75%
  15|   2.50%|   1.09%|    1.40%|  97.50%
-------------------------------------------
avg.|   3.90%|   1.95%|    1.95%|  96.10%

Total IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |      6773342208 |       103353 |     645.24 |   10323.76 | temp12.dat (2048MiB)
------------------------------------------------------------------------------
total:        6773342208 |       103353 |     645.24 |   10323.76

Read IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |      6773342208 |       103353 |     645.24 |   10323.76 | temp12.dat (2048MiB)
------------------------------------------------------------------------------
total:        6773342208 |       103353 |     645.24 |   10323.76

Write IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |               0 |            0 |       0.00 |       0.00 | temp12.dat (2048MiB)
------------------------------------------------------------------------------
total:                 0 |            0 |       0.00 |       0.00

This behaviour does not occur with an Admin user. Both runs got ~1300 MiB/s.

Admin: diskspd.exe -Su -c2G temp22.dat: 1340 MiB/s
Command Line: diskspd.exe -Su -c2G temp22.dat

Input parameters:

        timespan:   1
        -------------
        duration: 10s
        warm up time: 5s
        cool down time: 0s
        random seed: 0
        path: 'temp22.dat'
                think time: 0ms
                burst size: 0
                software cache disabled
                using hardware write cache, writethrough off
                performing read test
                block size: 65536
                using sequential I/O (stride: 65536)
                number of outstanding I/O operations: 2
                thread stride size: 0
                threads per file: 1
                using I/O Completion Ports
                IO priority: normal

System information:

        computer name: tlander-pc
        start time: 2021/07/12 06:01:07 UTC

Results for timespan 1:
*******************************************************************************

actual test time:       10.00s
thread count:           1
proc count:             16

CPU |  Usage |  User  |  Kernel |  Idle
-------------------------------------------
   0|  45.78%|   3.91%|   41.88%|  54.22%
   1|   2.19%|   2.03%|    0.16%|  97.81%
   2|   6.09%|   3.13%|    2.97%|  93.91%
   3|   1.72%|   1.25%|    0.47%|  98.28%
   4|   2.03%|   1.88%|    0.16%|  97.97%
   5|   4.22%|   4.22%|    0.00%|  95.78%
   6|   1.25%|   1.09%|    0.16%|  98.75%
   7|   3.75%|   3.13%|    0.63%|  96.25%
   8|   1.56%|   1.09%|    0.47%|  98.44%
   9|   3.91%|   2.97%|    0.94%|  96.09%
  10|   2.97%|   2.19%|    0.78%|  97.03%
  11|   1.72%|   1.41%|    0.31%|  98.28%
  12|   2.03%|   0.94%|    1.09%|  97.97%
  13|   2.34%|   0.63%|    1.72%|  97.66%
  14|   1.88%|   1.56%|    0.31%|  98.13%
  15|   2.97%|   1.25%|    1.72%|  97.03%
-------------------------------------------
avg.|   5.40%|   2.04%|    3.36%|  94.60%

Total IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |     14060027904 |       214539 |    1340.54 |   21448.62 | temp22.dat (2048MiB)
------------------------------------------------------------------------------
total:       14060027904 |       214539 |    1340.54 |   21448.62

Read IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |     14060027904 |       214539 |    1340.54 |   21448.62 | temp22.dat (2048MiB)
------------------------------------------------------------------------------
total:       14060027904 |       214539 |    1340.54 |   21448.62

Write IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |               0 |            0 |       0.00 |       0.00 | temp22.dat (2048MiB)
------------------------------------------------------------------------------
total:                 0 |            0 |       0.00 |       0.00
Admin: diskspd.exe -Su -r4b -c2G temp22.dat: 1290 MiB/s
Command Line: diskspd.exe -Su -r4b -c2G temp22.dat

Input parameters:

        timespan:   1
        -------------
        duration: 10s
        warm up time: 5s
        cool down time: 0s
        random seed: 0
        path: 'temp22.dat'
                think time: 0ms
                burst size: 0
                software cache disabled
                using hardware write cache, writethrough off
                performing read test
                block size: 65536
                using random I/O (alignment: 262144)
                number of outstanding I/O operations: 2
                thread stride size: 0
                threads per file: 1
                using I/O Completion Ports
                IO priority: normal

System information:

        computer name: tlander-pc
        start time: 2021/07/12 06:01:39 UTC

Results for timespan 1:
*******************************************************************************

actual test time:       10.01s
thread count:           1
proc count:             16

CPU |  Usage |  User  |  Kernel |  Idle
-------------------------------------------
   0|  40.47%|   4.84%|   35.63%|  59.53%
   1|   1.56%|   0.63%|    0.94%|  98.44%
   2|   4.22%|   2.66%|    1.56%|  95.78%
   3|   2.03%|   2.03%|    0.00%|  97.97%
   4|   2.34%|   2.03%|    0.31%|  97.66%
   5|   6.09%|   5.47%|    0.63%|  93.91%
   6|   2.03%|   1.56%|    0.47%|  97.97%
   7|   4.06%|   3.44%|    0.63%|  95.94%
   8|   2.81%|   1.88%|    0.94%|  97.19%
   9|   3.28%|   2.81%|    0.47%|  96.72%
  10|   3.75%|   2.81%|    0.94%|  96.25%
  11|   1.72%|   1.41%|    0.31%|  98.28%
  12|   4.22%|   2.81%|    1.41%|  95.78%
  13|   2.34%|   0.31%|    2.03%|  97.66%
  14|   3.59%|   2.66%|    0.94%|  96.41%
  15|   5.31%|   2.97%|    2.34%|  94.69%
-------------------------------------------
avg.|   5.62%|   2.52%|    3.10%|  94.38%

Total IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |     13538885632 |       206587 |    1290.11 |   20641.78 | temp22.dat (2048MiB)
------------------------------------------------------------------------------
total:       13538885632 |       206587 |    1290.11 |   20641.78

Read IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |     13538885632 |       206587 |    1290.11 |   20641.78 | temp22.dat (2048MiB)
------------------------------------------------------------------------------
total:       13538885632 |       206587 |    1290.11 |   20641.78

Write IO
thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |               0 |            0 |       0.00 |       0.00 | temp22.dat (2048MiB)
------------------------------------------------------------------------------
total:                 0 |            0 |       0.00 |       0.00
dl2n commented

diskspd.exe -Su -r4b -c2G temp13.dat run 4 times in a row:

  1. 596.53 MiB/s
  2. 625.00 MiB/s
  3. 631.94 MiB/s
  4. 504.62 MiB/s

diskspd.exe -Su -c2G temp14.dat run 4 times in a row (after the above, but also using a different file):

  1. 996.80 MiB/s
  2. 1304.05 MiB/s
  3. 984.27 MiB/s
  4. 1340.03 MiB/s

diskspd.exe -Su -r4b -c2G temp13.dat run once again (after the above)

  1. 587.89 MiB/s
dl2n commented

Is this being run on a multi-socket system?

No, single processor, an i7-10700.