MongoDBをext3とext4でベンチマークしてみたらext4が圧勝だった。
- マシン:ニフティクラウド サーバタイプmini [1vCPU(1GHz)・512MB]
- ディスク:Disk200 B
- OS:CentOS release 6.2 (64bit)
- MongoDB: mongodb-linux-x86_64-1.6.4
実験方法
マシン内で- mongod(サーバ)を1プロセス起動する。
- mongoシェルを3つ立ち上げる。
> var x = { a : new Date() , b:(new Date()).toString(), c: 'hoge hoge foobar' , d: 1234567890 };
> while (1) { db.foo.save({ x : x, t : new Date()}) }
サーバのログファイルに書かれたアロケーション所要時間を記録。
Wed Apr 25 04:29:31 done allocating datafile /data/db/test.5, size: 2047MB, took 0.468 secs
ファイルアロケーションに要した時間
ext3 | ext4 | |
64MB | 0.3秒 | 0秒 |
128MB | 1.8秒 | 0秒 |
256MB | 13.0秒 | 0秒 |
512MB | 20.9秒 | 0秒 |
1GB | 46.9秒 | 0.49秒 |
2GB | 106.3秒 | 0.47秒 |
な、なんとうことでしょう・・・!
200倍もの速度差が出てしまいました。
1台のマシンでサーバとクライアントを動かしているから負荷テストのやり方としては正しくないのかもしれませんが、 それにしても圧倒的な差です。
結論
MongoDBを使うならぜひext4を!(ステマではない)
続きを書きました
[続報]MongoDBをext3とext4でベンチマークしてみた(mongod 2.0編)
カテゴリ:
MongoDB