システム構築

事例:Elasticsearchの性能改善

自社のサービス用システム用に開発したソフトウェアのログをElasticsearchで管理しているが、思ったように検索ができないということで相談を受けました。デージーネットで原因を探り、検証結果に基づいて使い方についてのアドバイスをさせていただきました。

導入企業業種
ネットサービス
ユーザー規模
100万人
実施時期
2016年9月
お客様が悩まれていた課題
検索しても結果が出力されない
Elasticsearchを導入してみたが、使い方が良く分からない
どうしたら速くなるのか分からない

デージーネットが提案した「Elasticsearchの性能改善」

解決ポイント

ベンチマークを実施しながら問題点を絞り込み

2016年5月頃に稼働を開始した自社サービスから、様々なデータが取れてくるが上手く解析ができないということで相談を頂きました。開発会社の勧めで、データはElasticsearchに保管してはいるものの、検索しても結果が出ないということでした。

利用方法をヒアリングし、疑似環境を構築

まず最初に、どのようなデータをElasticsearchに登録していて、検索をどのように行っているのかをヒアリングしました。また、検索結果が表示されない現象についても、実際に見せてもらいました。ヒアリング結果に基づき、デージーネット内にElasticsearchの疑似環境を作成しました。その結果、疑似環境でも同じような現象が出ることを確認しました。

データの取り出し方についての工夫

まずは、データを取り出すためには、どうすれば良いかを確認しました。その結果、Elasticsearchからデータが取り出せないわけではなく、単純に処理に時間が掛かっていることが分かりました。そのため、まずはデータを分割して、少しづつ取り出すことで表示できることを説明しました。

検索の高速化

また、Elasticsearchの検索自体を高速化する方法についても調査を行いました。Elasticsearchで使用するメモリの設定、インデックスの設定方法、データウィンドウの導入など、いくつかの方法を試しました。その結果、Elasticsearchの検索の性能を向上することができました。

Elasticsearchの構成に関する提案

Elasticsearchの検索の性能はある程度の向上ができましたが、まだ実用のためには遅い状況でした。デージーネットで調査したところ、Elasticsearchから大量のデータを取り出そうとしているため、検索ではなくElasticsearchから端末へのデータ転送で多くの時間が使われていることが分かりました。そのため、Elasticsearchから取り出すデータを少しでも限定することをお勧めしました。さらに、根本的な問題の解決のために、Elasticsearchの検索サーバの分散などのシステム構成の変更を提案しました。

コンサルティング後の結果

結果的に、Elasticsearchの設定などの問題よりも、使い方やシステム構成に問題があることが分かりました。原因がはっきりしたので、お客様側でのシステム構成の変更などの対策方針が固まり、問題を解決することができました。

OSS改善支援コンサルの事例一覧



様々な事例を集めたモデルプラン(費用例付き)をお送りしています。

代表的な事例を集めた「モデルプラン」をお送りしています。費用の例も記載しておりますので、価格感も知って頂ける資料となっております。
ご希望の方は、下記よりお申し込みください。

モデルプランをご希望の方

Elasticsearchの性能改善の先頭へ