FAQ: unexpectedly slow performance

AmorphousDiskMark measures storage read/write performance in MB/s and IOPS.
Post Reply
katsura
Posts: 25
Joined: Sat May 23, 2020 6:16 pm

FAQ: unexpectedly slow performance

Post by katsura »

if other process uses the disk while you measure the disk performance, you get slower than expected performance.
  1. Time Machine: make sure Time Machine is not backing up (accessing the storage device). this usually happens every hour if you have Time Machine enabled. you can check the Time Machine menu on the menubar if the backup is running or not. the OS accessing other disks could (and does) also affect the performance of the disk you are trying to measure.
  2. Spotlight indexing: mds, mdsync, md_stores, mdworker, mdworker_shared (anything from Metadata.framework) will affect the disk access performance.
i usually run "iostat -w1" in Terminal (or over ssh) to monitor the disk access activities and run the performance measurement while there are no other activities.

for example, this is what it looks like while Time Machine is running (backing up files from disk0 to disk2).

Code: Select all

$ iostat -w1
              disk0               disk2       cpu    load average
    KB/t  tps  MB/s     KB/t  tps  MB/s  us sy id   1m   5m   15m
   28.97   58  1.63    14.13    1  0.01   2  2 96  3.42 2.49 2.21
  163.02   41  6.52     0.00    0  0.00   4  4 93  3.42 2.49 2.21
   46.15   13  0.58     0.00    0  0.00   2  4 94  3.42 2.49 2.21
   61.56   18  1.08     0.00    0  0.00   2  4 94  3.23 2.46 2.20
    9.43  566  5.22    13.29  156  2.02   2  6 93  3.23 2.46 2.20
    9.10 2177 19.35   377.45   11  4.05   3  5 92  3.23 2.46 2.20
   20.93  487  9.94   153.00   28  4.18   3  6 91  3.23 2.46 2.20
   16.40  101  1.61    25.71   28  0.70   3  4 93  3.23 2.46 2.20
   33.09   11  0.36     8.00    6  0.05   2  3 95  3.29 2.49 2.21
   53.60   10  0.52     7.29   17  0.12   2  3 95  3.29 2.49 2.21
here is an example where there is no disk access. there are some disk access when the iostat command (among other things) gets loaded on launch.

Code: Select all

$ iostat -w1
          disk0       cpu     load average
    KB/t tps  MB/s  us sy id   1m   5m   15m
   13.82  61  0.82   2  2 95  1.38 1.16 1.05
    0.00   0  0.00   0  0 100  1.35 1.16 1.05
    0.00   0  0.00   0  0 99  1.35 1.16 1.05
    0.00   0  0.00   0  1 99  1.35 1.16 1.05
    0.00   0  0.00   0  0 100  1.35 1.16 1.05
    0.00   0  0.00   0  1 99  1.35 1.16 1.05
    0.00   0  0.00   2  2 95  1.32 1.15 1.05
    0.00   0  0.00   0  0 100  1.32 1.15 1.05
    0.00   0  0.00   0  0 100  1.32 1.15 1.05
    0.00   0  0.00   0  0 100  1.32 1.15 1.05
Post Reply