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

このエントリーをはてなブックマークに追加

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

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

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

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

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

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

このエントリーをはてなブックマークに追加