レスポンスが速くなり使いやすいサービスになりました


年末年始で将棋db2のインフラ強化を行い、アプリやサイトのレスポンスが大幅に向上しました。

以前から棋譜検索が重く、使い物にならないと認識していましたが、抜本的な対策を取る時間がなく、対策を放置していました。年末年始に少し余裕ができたため、今回重い腰を上げてインフラの強化を行いました。

まず、サーバーを乗り換えました。
今までさくらのVPSの1Gのプランを使っていましたが、これをconohaの1Gのプランに乗り換えました。
HDDの100GBからSSDの50GBに変わり、IOの速度が向上しました。

そして、検索のミドルウェアとしてelastisearchを導入しました。
今までMongoDBのみで検索機能を実現していましたが、クエリが複雑になるとインデックスが効きませんでした。
elasticsearchは基本的にすべでのフィールドにインデックスが張られ、クエリが複雑になってもインデックスが効くため、高速な検索が可能になります。
今回のelastisearchの導入で、棋譜検索のレスポンスが大幅に向上しました。
今までは検索条件によっては結果がなかなか返らず、タイムアウトすることがありましたが、今は瞬時に結果が返ります。

また、簡単に目的の棋譜が探せるよう、検索フォームにキーワードを並べると絞り込み検索ができるようにしました。
検索フォームに「羽生 渡辺 竜王戦」と入力して検索すると、竜王戦の羽生対渡辺の棋譜がヒットします。
先手、後手、棋戦、戦型を検索フォームで絞り込みできるようになっています。

ぜひ検索機能の強化された将棋DB2を使ってみてください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>