SDカードベンチマーク
前々からSDカードのファイルフォーマットは何が良いのか疑問だったのでbonnie++を走らせてみた。ちなみに書き換え回数に限りのあるフラッシュデバイスでベンチマークを実行するのは自殺行為でしかない。良い子はマネしないでね。
- Machine: SL-C700
- Kernel: 2.6.26-r9.1 + CONFIG_CPU_FREQなし + REISERFS/JFS/XFS有効
- bonnie++ 1.03c
- Sandisk 2.0GB SD
- 全てマウント時に async,noatime 適用
Size | Sequential Output | Sequential Input | Random Seeks | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Per Chr | Block | Rewrite | Per Chr | Block | |||||||||
K/sec | %CP | K/sec | %CP | K/sec | %CP | K/sec | %CP | K/sec | %CP | /sec | %CP | ||
ext2 | 300M | 1059 | 81 | 1353 | 2 | 777 | 5 | 1553 | 93 | 1742 | 64 | 83.5 | 5 |
ext3 | 300M | 1023 | 82 | 1311 | 10 | 762 | 6 | 1558 | 93 | 1746 | 6 | 55.8 | 3 |
jfs | 300M | 1014 | 73 | 1386 | 3 | 779 | 4 | 1581 | 94 | 1752 | 6 | 82.0 | 4 |
reiserfs | 300M | 1017 | 85 | 1376 | 18 | 774 | 6 | 1559 | 94 | 1749 | 7 | 85.8 | 6 |
xfs | 300M | 993 | 72 | 1380 | 5 | 773 | 6 | 1561 | 94 | 1744 | 7 | 75.0 | 4 |
files | Sequential Create | Random Create | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Create | Read | Delete | Create | Read | Delete | ||||||||
/sec | %CP | /sec | %CP | /sec | %CP | /sec | %CP | /sec | %CP | /sec | %CP | ||
ext2 | 16 | 151 | 98 | +++++ | +++ | 22339 | 99 | 153 | 98 | +++++ | +++ | 429 | 88 |
ext3 | 16 | 1828 | 62 | +++++ | +++ | 643 | 7 | 1507 | 55 | +++++ | +++ | 407 | 6 |
jfs | 16 | 445 | 29 | 7906 | 47 | 202 | 6 | 108 | 12 | 4132 | 40 | 43 | 2 |
reiserfs | 16 | 969 | 86 | +++++ | +++ | 1102 | 94 | 1022 | 95 | +++++ | +++ | 840 | 80 |
xfs | 16 | 107 | 20 | 3865 | 42 | 104 | 18 | 109 | 21 | 4366 | 50 | 30 | 4 |
感想。
- シーケンシャルアクセスの速度は意外にも読み書きともにほとんど差異なし。
- CPU使用率も考慮するとシーケンシャルアクセスはjfsとxfsあたりが良さげ。
- メタファイルになると一転してext3とreiserfsのスコアが高い。が、readの項目が"+++++"となっていてよくわからん。
- ARM系でxfsは一旦unmountするとmountできなくなるという致命的バグあり。調べたところ↓で修正パッチが上がっている。なおベンチ結果はパッチ未適用。(というか取得後に気付いた)
ちなみにSSDだとNILFSが(結果的に)最強という話がでているが、2.6.26時点ではまだ組み込まれていないし、そもそも「Architecture: Intel-compatible x86, x86_64 」ということらしいのでムリ。
追記。パッチを適用してxfsだけ取り直してみたがほとんど差異なし。