Difference between revisions of "Benchmarking/Data storage devices"

From ArchWiki
Jump to: navigation, search
m (Using palimpsest)
(added results)
Line 116: Line 116:
 
  1024+0 records out
 
  1024+0 records out
 
  1073741824 bytes (1.1 GB) copied, 0.169713 s, 6.3 GB/s
 
  1073741824 bytes (1.1 GB) copied, 0.169713 s, 6.3 GB/s
 +
 +
=== Intel X25-M (G2) ===
 +
*SSD: Intel X25-M Generation 2
 +
*Model Number: SSDSA2M160G2GC
 +
*Capacity: 160 GB
 +
*User: fackamato
 +
 +
# hdparm -Tt /dev/sda
 +
Timing cached reads:  2890 MB in  2.00 seconds = 1445.86 MB/sec
 +
Timing buffered disk reads: 738 MB in  3.00 seconds = 245.69 MB/sec
 +
 +
Minimum Read Rate: 244.3 MB/s
 +
Maximum Read Rate: 278.6 MB/s
 +
Average Read Rate: 273.3 MS/s
 +
Average Access Time 0.1 ms
 +
 +
$ dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
 +
1024+0 records in
 +
1024+0 records out
 +
1073741824 bytes (1.1 GB) copied, 10.8582 s, 98.9 MB/s
 +
 +
# echo 3 > /proc/sys/vm/drop_caches
 +
$ dd if=tempfile of=/dev/null bs=1M count=1024
 +
1024+0 records in
 +
1024+0 records out
 +
1073741824 bytes (1.1 GB) copied, 4.09679 s, 262 MB/s
 +
 +
$ dd if=tempfile of=/dev/null bs=1M count=1024
 +
1024+0 records in
 +
1024+0 records out
 +
1073741824 bytes (1.1 GB) copied, 0.363709 s, 3.0 GB/s

Revision as of 13:47, 22 August 2010

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Introduction

Several I/O benchmark options exist under Linux.

  • Using hddparm with the -Tt switch, one can time sequential reads. This method is independent of partition alignment!
  • There is a graphical benchmark called palimpsest contained in the gnome-disk-utility package that will give min/max/ave reads along with ave access time and a nice graphical display. This method is independent of partition alignment!
  • The dd utility can be used to measure both reads and writes. This method is dependent on partition alignment! In other words, if you failed to properly align your partitions, this fact will be seen here since you're writing and reading to a mounted filesystem.
  • Bonnie++

Using hddparm

# hddparm -Tt /dev/sdX
/dev/sdX:
Timing cached reads:   x MB in  y seconds = z MB/sec
Timing buffered disk reads:  x MB in  y seconds = z MB/sec
Note: One should run the above command 4-5 times and manually average the results for an accurate evaluation of read speed per the hddparm man page.

Using palimpsest

# sudo palimpsest

Users will need to navigate through the GUI to the benchmark button.

Using dd

Note: This method requires the command to be executed from a mounted partition on the device of interest!

First, enter a directory on the SSD with at least 1.1 GB of free space (and one that obviously gives your user wrx permissions) and write a test file to measure write speeds and to give the device something to read:

$ cd /path/to/SSD
$ dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
w bytes (x GB) copied, y s, z MB/s

Next, clear the buffer-cache to accurately measure read speeds directly from the device:

# echo 3 > /proc/sys/vm/drop_caches
$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
w bytes (x GB) copied, y s, z MB/s

Now that the last file is in the buffer, repeat the command to see the speed of the buffer-cache:

$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
w bytes (x GB) copied, y s, z GB/s
Note: One should run the above command 4-5 times and manually average the results for an accurate evaluation of the buffer read speed.

Finally, delete the temp file

$ rm tempfile

Model Specific Data

Please contribute to this section using the template below to post results obtained.

See here for a nice database of benchmarks.

Template

  • SSD:
  • Model Number:
  • Capacity: x GB
  • User:
# hdparm -Tt /dev/sdx
Minimum Read Rate: x MB/s
Maximum Read Rate: x MB/s
Average Read Rate: x MS/s
Average Access Time x ms
$ dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
# echo 3 > /proc/sys/vm/drop_caches
$ dd if=tempfile of=/dev/null bs=1M count=1024
$ dd if=tempfile of=/dev/null bs=1M count=1024

Intel X25-M (G2)

  • SSD: Intel X25-M Generation 2
  • Model Number: SSDSA2MH080G2R5
  • Capacity: 80 GB
  • User: Graysky
# hdparm -Tt /dev/sdb
/dev/sdb:
Timing cached reads:   15644 MB in  1.99 seconds = 7845.48 MB/sec
Timing buffered disk reads:  788 MB in  3.00 seconds = 262.52 MB/sec
Minimum Read Rate: 253.6 MB/s
Maximum Read Rate: 286.1 MB/s
Average Read Rate: 282.6 MS/s
Average Access Time 0.1 ms
$ dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 13.3236 s, 80.6 MB/s
# echo 3 > /proc/sys/vm/drop_caches
$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.00297 s, 268 MB/s
$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.169713 s, 6.3 GB/s

Intel X25-M (G2)

  • SSD: Intel X25-M Generation 2
  • Model Number: SSDSA2M160G2GC
  • Capacity: 160 GB
  • User: fackamato
# hdparm -Tt /dev/sda
Timing cached reads:   2890 MB in  2.00 seconds = 1445.86 MB/sec
Timing buffered disk reads: 738 MB in  3.00 seconds = 245.69 MB/sec
Minimum Read Rate: 244.3 MB/s
Maximum Read Rate: 278.6 MB/s
Average Read Rate: 273.3 MS/s
Average Access Time 0.1 ms
$ dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 10.8582 s, 98.9 MB/s

# echo 3 > /proc/sys/vm/drop_caches
$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.09679 s, 262 MB/s
$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.363709 s, 3.0 GB/s