I would like to get an idea of the sustained read and write speeds of a drive that I have connected to my Mac. As you may know, most drives do not consistently read and write at the same speed as it does initially—most SSD, NVMe, and even mechanical hard drives have fast a "cache" or "buffer" which is initially filled up, and then the actual storage of the device becomes the speed-limiting factor for data transfer.
Many websites test the sustained write speed of drives (example) where a lot of data is written to the drive, for example 500GB or 1TB of data, and the speed of the drive is monitored during the writing process. A graph can then be plotted showing how the drive's speed changes when a large amount of data is written.
This is trivial on Windows and there is a lot of software that can achieve this. However, on macOS I haven't found anything similar. The most popular drive benchmarking tool, Blackmagic Disk Speed Test, reads and writes for short bursts. Although this gives an idea about the initial speed of a drive, it is a poor indicator of the actual performance of a drive.
Is there a better software or perhaps terminal command to monitor the write speed of a drive while a large amount of data is written to it?
The only thing I can think of is monitoring the write speed of the drive using iStat Menus while transferring a large temporary file to the drive. However, there are some disadvantages to this way of doing it, as:
- This temporary file must be stored in a location that has a higher read speed than the write speed of the drive being tested. The internal NVMe storage of modern MacBooks should generally be fast enough, but is often limited (e.g. in a 256GB MacBook).
- It is not readily possible to export speed data from iStat Menus to make custom graphs or for performing further analysis on the data
- This just seems like a really rudimentary way of doing it. I would much prefer a software that records the write speed of the drive every second or so while the drive is being written to for a long period of time.