- Joined
- Nov 1, 2012
- Messages
- 1,007
- Motherboard
- GA-Z77X-UP5 TH
- CPU
- i7-3770K
- Graphics
- HD4000 / GTX 1050 Ti
- Mac
- Classic Mac
- Mobile Phone
Black Magic speed test is OK, but not the only tool I would use. It tries to use "incompressible" data to simulate how video data will work on various SSDs. It's really targetted at bandwidths of hundreds of MB/sec (to handle RAW video data streams), so may not be as accurate with piddly little USB sticks.Anybody can recommend a good tool to test speed disk?
(Instead of doing some manual calculation)
Black Magic speed test is good ?
As well as BM speed test, I use several tools, mostly in Terminal windows.
- I have Activity Monitor running. Unfortunately the disk activity reported there is the aggregate of all the disks, but it does separate read and write activity which can be useful.
- I leave iostat -d -w 2 running in a Terminal window (stretched wide on machines with lots of disks). I chose a 2s refresh to be the same as used by Activity Monitor.
For each disk iostat reports the average block size of transactions, the number of transactions/sec, and the number of MB/sec (the product of the first two numbers). It doesn't separate read/write activity though. It reports the devices as "disk0", "disk1", etc. You can identify which partitions are on which disk by looking at the output of df.
Then you can generate traffic flow (e.g. by copying files in Finder) and watch the resulting numbers: - dd bs=32k if=/dev/zero of=/Volumes/USB_STICK/testfile will write 32 kB chunks of zero data to /Volumes/USB_STICK/testfile. On a USB stick you'll probably see these are being consolidated into 128 kB blocks (on good Firewire drives you'll see 512 kB blocks, and on SATA I see up to 1024 kB (1 MB) transactions: this helps as the transactions/sec can be a limiting factor).
There is a /dev/random, but it runs quite slowly and won't be able to show the limits of the disk. For basic testing I find /dev/zero to be fine. - To read from a file you can use dd bs=32k if=/Volumes/USB_STICK/testfile of=/dev/null (or cat /Volumes/USB_STICK/testfile > /dev/null) which reads the file and throws the data away (otherwise the speeds you see during a copy from a disk may be affected by the speed of the disk you're copying the file to).
Hope that helps.