s_tajima:TechBlog

渋谷で働くインフラエンジニアのTechブログです。

ElasticSearchのindexの圧縮設定に関するベンチマーク

ElasticSearchのmappingの設定で、
compressに関する設定がindexのサイズ、応答性能にどう影響するかのベンチマークを取った。

テスト環境

ベンチマークは以下のような構成で実施。

f:id:s_tajima:20140228195659j:plain

上記のような構成で、①indexサイズ, ②応答性能(httpdの%Drequesttime_microsecで計測)を計測。

  • 各種バージョン
    • ElasticSearch: v1.0.0
    • Kibana: v3.0.0-milestone5
  • 登録データは実サービスのアクセスログ(ltsv)
  • 応答性能はkibanaが実際に投げる//_searchに対するPOSTを集計
  • Kibanaでの定期的なアクセス
    • それぞれのindexにAuto-Refresh 1mでアクセスするDashBoardを作成
    • 手元のMacChromeでそれらをtabで1枚ずつ開いて放置

それぞれのIndex(test01, test02, test03)の設定の差分は以下の通り。

  • test01
    • compressに関する設定なし(defaultの状態)
  • test02
    • 以下の設定をmapping templateに記述
{ "mappings": { "_default_": { "_source": { "compress": true } } } }
  • test03
    • 以下の設定をmapping templateに記述
{ "settings": { "index.store.compress.stored" : "true"} }


※正直これらの設定が具体的にどんなものなのかわかっていないので後日調査予定

結果

①indexサイズ

f:id:s_tajima:20140228194829p:plain

②応答性能

f:id:s_tajima:20140228194839p:plain

まとめ

  • いずれの設定も応答性能に影響はなさそう。
  • test02の設定を入れることによってindexサイズが大きくなってしまった。

今回使用した設定と、indexのmetadataはこちらにまとめておきます。


Configs for benchmarking of ElasticSearch compress ...