How do we test?
Testenvironment
We recommend
that readers who aren't interested in test procedures jump over this page and
head directly to the test results.
| Models tested |
OCZ Vertex 4 256 GByte Firmware 1.4
OCZ Vertex 4 512 GByte Firmware 1.4
Kingston HyperX 3K SSD 120 GByte
SanDisk Extreme SSD 240 GByte
SanDisk Extreme SSD 120 GByte
OCZ Vertex 4 512 GByte
OCZ Vertex 4 256 GByte
OCZ Octane 512 GByte
Intel SSD 520 Series 180 GByte
Intel SSD 520 240 GByte
Kingston SSDNow V+ 200 90 GByte
OCZ Synapse 64 GByte
Samsung PM830 128 GByte
OCZ RevoDrive Hybrid 120GB SSD, 1TB HDD
Extrememory XLR8 Express 120 GByte MLC
Corsair Force 3 120 GByte MLC
Samsungs PM 830 SSD 256 GByte MLC
OCZ RevoDrive 3 X2 480 GByte PCIe-SSD MLC
Kingston HyperX 240 GByte SSD MLC
ADATA S511 SSD 120 GByte MLC
Corsair Force GT 120 GByte MLC
Kingston HyperX 120 GByte MLC
ADATA S511 60 GByte MLC
OCZ Agility 3 240 GByte MLC
OCZ Vertex 3 240 GByte MLC
OCZ IBIS 240 GByte MLC
OCZ Revo Drive X2 480 GByte MLC
Samsung SSD 64 GByte MLC
Corsair F100 100 GByte MLC
Corsair X128 128 GByte MLC
Corsair P128 128 GByte MLC
Intel X25-M 80 GByte MLC
Intel X25-M Gen2 160 GByte MLC
Intel X25-M Gen2 160 GByte MLC Raid0
Intel X25-E 32 GByte SLC
OCZ Vertex 120 GByte MLC
Samsung SSD PM800 256 GByte MLC
Samsung SSD PM800 64 GByte MLC
Kingston SSDNow V+ 64 GByte MLC
OCZ Agility 128 GByte MLC
OCZ Apex 120 GByte MLC
Photofast G-Monster 120 GByte V2 MLC
Kingston SSDNow VSeries 40 GByte MLC |
| |
Testenvironment |
|
Motherboard |
ASUS P8P67 Deluxe B3 |
|
|
Chipset |
Intel P67 |
1'333 MHz |
|
CPU |
Intel Core i7 2600k |
3.4 GHz |
|
Memory |
Kingston HyperX 2133 |
4 GByte |
| Graphics
card |
Gigabyte GeForce GTX 285 |
|
| Storage (system) |
Seagate Barracuda |
640 GByte |
|
Operating systems |
Ubuntu - most recent Kernel version
Windows 7 64 Bit with caching
drives |
|
Filesystem |
XFS |
|
We think everybody reading this article can imagine the following
scenario: You just bought a hard drive which according the specs sheet should
transfer 120 MByte/s reading and writing. In the reviews you read about
astonishing 110 MByte/s but after you put the drive into you system it feels
much slower. The whole story gets even worse when you start a benchmark which
does randomread/write of 4 KByte blocks. There you only get two to three
MBytes/s.
Because of this we don't want to publish screenshots of standard
programs like HD-Tach, HD-Tune, ... we want our tests to be
-
reproducible,
-
accurate
-
meaningful and
- varied ...
... sind.
We test with
activated caches and NCQ (Native Command Queueing) because they're also
activated under daily use. But the data size tested is always at least twice the
amount of the memory. In this there will be no intereference.
We noticed that the measuring error is constantly
within ±2%. Therefore we mention it only here.
Additionally we evaluate the S.M.A.R.T. data
to assess if there are already errors.
The following table give you a brief overview to which points we
turn our centre of attention.
| Test |
Observations |
| |
|
| Sequential Read/Write Tests |
- Are the values within the
specifications?
- Which
influence has the block size?
- Which influence has the filesystems block
size?
|
| Random Read/Write Tests |
- How severe is the influence on
the theoretically possible (sequential) datarate?
- Which
influence has the block size?
- Which influence has the block size on the
filesystem?
|
| |
|
iozone3
iozone3 is a benchmark suit for
storage solutions which natively runs under Linux.
Therefore we are testing the
throughput with different block sizes using the following
commands:
KByte/s
- iozone -Rb test4k.xls -i0 -i1 -i2 -+n -r 4k -s4g -t32
- iozone -Rb test16k.xls -i0 -i1 -i2 -+n -r 16k -s4g -t32
- iozone -Rb test32k.xls -i0 -i1 -i2 -+n -r 32k -s4g -t32
- iozone -Rb test64k.xls -i0 -i1 -i2 -+n -r 64k -s4g -t32
- iozone -Rb test128k.xls -i0 -i1 -i2 -+n -r 128k -s4g -t32
- iozone -Rb test256k.xls -i0 -i1 -i2 -+n -r 256k -s4g -t32
iops
- iozone -Rb test4ko.xls -i0 -i1 -i2 -+n -r 4k -s4g -t32 -O
- iozone -Rb test16ko.xls -i0 -i1 -i2 -+n -r 16k -s4g -t32 -O
- iozone -Rb test32ko.xls -i0 -i1 -i2 -+n -r 32k -s4g -t32 -O
- iozone -Rb test64ko.xls -i0 -i1 -i2 -+n -r 64k -s4g -t32 -O
- iozone -Rb test96ko.xls -i0 -i1 -i2 -+n -r 96k -s4g -t32 -O
- iozone -Rb test128ko.xls -i0 -i1 -i2 -+n -r 128k -s4g -t32 -O
Why do we test
different block sizes?
It is important to reproduce scenarios
of daily usage. Certain parameters need to be variable during the test to make a
statement about the product. In our test the parameters are the different block
sizes. It defines the size in KBytes which is written/read on the drive during a
transaction.
With this method
one can test the reading and writing of either small and big files. In a normal
personal computer environment you usually don't find many files smaller than 16
KByte. The relative amount of small files is much bigger on a mail or database
server. Therefore tests with small block sizes are of interest for
database-based applications.
In
bigger RAID arrays the hard disk cache is usually disabled and the
RAID-Controller takes over the job of caching. Exactly in such setups hard
drives need to be very fast when reading or writing small amounts of data.
Sequential throughput isn't interesting in this case.
Discuss this article in the
forum