IOzone

From UBIFSWiki

Jump to: navigation, search

Contents

Standard IOzone results

Raw numbers

E1-nand (ubifs) write rewrite read reread r.read r.write b.read r.rewrt s.read fwrite frewrite fread freread
2008-05-07 14757.04 15988.64 89915.14 88476.95 85654.39 22554.46 86467.29 70231.27 108683.59 13404.05 14653.98 82919.68 82090.41
2008-01-07 15206.77 16341.02 95747.41 96297.55 89498.02 23079.95 91888.48 85519.46 106102.73 13746.20 14948.41 87994.25 88546.23
2007-09-30 14781.39 16045.20 91985.68 93864.02 87122.68 22836.71 89284.57 92008.88 106433.05 13265.18 14542.54 84860.77 85831.93
2007-09-06 15781.25 16747.11 98281.68 100172.59 89655.04 23707.32 93993.05 92325.05 111272.14 14227.52 15173.61 88548.64 89817.41
E1-nand (jffs2) write rewrite read reread r.read r.write b.read r.rewrt s.read fwrite frewrite fread freread
2008-05-07 (lzo) 8943.36 15070.86 98397.27 96623.05 93201.11 14891.95 94104.32 16504.5 115280.21 8112.84 13300.84 91458.64 90504.75
2008-01-07 (lzo) 14216.66 14488.73 99825.66 100545.11 94937.13 14429.05 95738.80 15906.05 111587.41 12539.30 12682.34 92826.05 92366.27
2007-09-30 (lzo) 14488.45 14639.02 93298.75 93986.41 89113.50 14652.46 88956.00 16350.50 110090.32 12680.89 12884.71 87321.07 87633.90
2007-09-06 (zlib) 5691.29 5859.84 93884.61 95687.70 89807.88 5732.34 90106.93 6070.59 111383.23 5248.04 5429.95 85995.21 87312.23
E1-nand (logfs) write rewrite read reread r.read r.write b.read r.rewrt s.read fwrite frewrite fread freread
2007-09-06 864.41 769.75 1389.91 37950.02 38096.12 794.12 38240.77 1247.71 38494.89 833.20 756.86 1506.07 83728.02


E2-nand (ubifs) write rewrite read reread r.read r.write b.read r.rewrt s.read fwrite frewrite fread freread
2008-06-12 (lzo) 8598.14 8795.11 46797.26 51414.96 57356.98 17251.91 70181.78 77342.41 80571.10 12373.30 11382.38 63279.83 64605.15
2008-01-07 (zlib) 1448.86 1809.82 121303.54 122384.38 118210.61 2677.45 117994.48 43197.45 133825.59 1836.34 1860.84 121904.57 123217.34
2008-01-07 (lzo) 8248.32 8824.30 65679.27 69716.50 72205.11 14994.57 85978.57 66614.88 94434.07 11022.63 10791.98 83515.07 83728.38
E2-nand (jffs2) write rewrite read reread r.read r.write b.read r.rewrt s.read fwrite frewrite fread freread
2008-01-07 (zlib) 3280.73 3840.36 85578.89 87781.70 86712.39 4176.63 84289.25 4208.52 98283.57 4040.11 4030.96 88409.63 90057.98
2008-01-07 (lzo) 7007.45 7237.89 56636.55 61106.80 66770.48 9637.32 70767.95 9655.32 75656.84 7752.34 7359.27 59233.23 62696.73

Relative results (ratio)

UBIFS compared to JFFS2(lzo) (math: UBIFS / JFFS2)
E1-nand write rewrite read reread r.read r.write b.read r.rewrt s.read fwrite frewrite fread freread
2008-05-07 1.65 1.06 0.91 0.92 0.92 1.51 0.92 4.26 0.94 1.65 1.10 0.91 0.91
2008-01-07 1.07 1.13 0.96 0.96 0.94 1.60 0.96 5.38 0.95 1.10 1.18 0.95 0.96
2007-09-30 1.02 1.10 0.99 1.00 0.98 1.56 1.00 5.63 0.97 1.05 1.13 0.97 0.98
2007-09-06 1.09 1.14 1.05 1.07 1.01 1.62 1.06 5.65 1.01 1.12 1.18 1.01 1.02
UBIFS compared to LOGFS (math: UBIFS / LOGFS)
E1-nand write rewrite read reread r.read r.write b.read r.rewrt s.read fwrite frewrite fread freread
2007-09-06 18.2567 21.7566 70.7108 2.6396 2.3534 29.8536 2.4579 73.9956 2.8906 17.0758 20.0481 58.7945 1.0727
UBIFS compared to JFFS2 (math: UBIFS / JFFS2)
E2-nand write rewrite read reread r.read r.write b.read r.rewrt s.read fwrite frewrite fread freread
2008-06-12 (lzo) 1.23 1.22 0.83 0.84 0.86 1.79 0.99 8.01 1.06 1.60 1.55 1.07 1.03
2008-01-07 (zlib) 0.44 0.47 1.42 1.39 1.36 0.64 1.40 10.26 1.36 0.45 0.46 1.38 1.37
2008-01-07 (lzo) 1.18 1.22 1.16 1.14 1.08 1.56 1.21 6.90 1.25 1.42 1.47 1.41 1.34

Brief descriptions

  • Standard IOzone result:
The raw numbers are in KByte/sec. The relative numbers denote magnitude of UBIFS relative to another FS.
  • write: This test measures the performance of writing a new file. When a new file is written not only does the data need to be stored but also the overhead information for keeping track of where the data is located on the storage media.
  • rewrite: This test measures the performance of writing a file that already exists. When a file is written that already exists the work required is less as the metadata already exists. It is normal for the rewrite performance to be higher than the performance of writing a new file.
  • read: This test measures the performance of reading an existing file.
  • reread: This test measures the performance of reading a file that was recently read. It is normal for the performance to be higher as the operating system generally maintains a cache of the data for files that were recently read. This cache can be used to satisfy reads and improves the performance.
  • r.read: This test measures the performance of reading a file with accesses being made to random locations within the file. The performance of a system under this type of activity can be impacted by several factors such as: Size of operating system’s cache, number of disks, seek latencies, and others.
  • r.write: This test measures the performance of writing a file with accesses being made to random locations within the file. Again the performance of a system under this type of activity can be impacted by several factors such as: Size of operating system’s cache, number of disks, seek latencies, and others.
  • b.read: This test measures the performance of reading a file backwards.
  • r.rewrt: This test measures the performance of writing and re-writing a particular spot within a file.
  • s.read: This test measures the performance of reading a file with a strided access behavior. An example would be: Read at offset zero for a length of 4 Kbytes, then seek 200 Kbytes, and then read for a length of 4 Kbytes, then seek 200 Kbytes and so on. Here the pattern is to read 4 Kbytes and then seek 200 Kbytes and repeat the pattern. This again is a typical application behavior for applications that have data structures contained within a file and is accessing a particular region of the data structure. Most operating systems do not detect this behavior or implement any techniques to enhance the performance under this type of access behavior.
  • fwrite: This test measures the performance of writing a file using the library function fwrite().
  • frewrite: This test measures the performance of rewriting a file using the library function fwrite().
  • fread: This test measures the performance of reading a file using the library function fread().
  • freread: This test is the same as fread above except that in this test the file that is being read was read in the recent past.


  • In the relative data the
    • green and lightgreen values mean UBIFS is faster than the reference (at least 5%)
    • red and pink values mean UBIFS is slower than the reference (at least 5%)
    • black and gray values mean ratio is in 5% margin of error
    • lightgreen, pink and gray values are obsolete


The full descriptions of the tests and other resources about the benchmark are available on IOzone website.

Command line and settings

We used the following commands and settings to produce the results.

Mount

  • UBIFS
flash_eraseall /dev/mtdX  # Only for clean fs
modprobe ubi mtd=X
ubimkvol -d 0 -n 0 -N ubifs -m # Only when flash_eraseall is executed
modprobe ubifs
mount -t ubifs ubi0:ubifs /mnt/mtdX
  • JFFS2
flash_eraseall /dev/mtdX  # Only for clean fs
mount -t jffs2 /dev/mtdblockX /mnt/mtdX
  • LOGFS
flash_eraseall /dev/mtdX  # Only for clean fs
mklogfs /dev/mtdX
mount -t logfs mtdX /mnt/mtdX

Execute tests

  • IOzone test:
iozone -e -s 64 -s 128 -s 256 -s 512 -s 1024 -s 2048 -s 4096 -f /mnt/mtdX/iozone.test -b ~/iozone_result.wks -R
Personal tools
Navigation