Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
求人検索をElasticsearchにしたら 速度2倍速くなった!!
Search
Kazuki Tsunemi
September 29, 2024
9
4.1k
求人検索をElasticsearchにしたら 速度2倍速くなった!!
Kazuki Tsunemi
September 29, 2024
Tweet
Share
Featured
See All Featured
Building Your Own Lightsaber
phodgson
104
6.2k
Adopting Sorbet at Scale
ufuk
74
9.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
510
Designing for humans not robots
tammielis
250
25k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Raft: Consensus for Rubyists
vanstee
137
6.8k
RailsConf 2023
tenderlove
29
1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Statistics for Hackers
jakevdp
797
220k
Transcript
2024/09/25 常見 一樹 求人検索をElasticsearchにしたら 速度2倍速くなった!! @ksilverwall
目次 • 自己紹介・サービス紹介 • 何が問題だったか? • こうしてみた • 速くなったよ
自己紹介:常見(ツネミ)です • 開発11年目(36歳) • バックエンドエンジニア ◦ Reactも書きがち • リプレイス案件多し タイミーの求人検索周りを開発中
4
1 何が問題だったか?
RDBが頑張っていた Web API 検索 RDB RDB RDB RDB RDB RDB
RDB Reader Writer 900万人 検索 うおおおお!! 複 製 登 録 29.7万拠点 400-600ms 上昇トレンド RDB クラスタ
ストレージ 数で解決できなくなってきた CPU 〜30% 余裕だわ partition: 2023-12-01 IO まだ自分 できるっす
API RDB partition: 2023-12-02 partition: 2023-12-03 フィルタ &ソート デカイ
募集人数の推移 コロナ禍においても、 過去に例を見ない程の 加速的高成長を実現。 ※1:2023年4Qと2022年4Qの比較 8 O(スキャン時間) =O(パーティションサイズ) =O(求人数/day)
リクエスト分散の限界 そうだElasticsearchにしよう
2 こうしてみた
検索をElasticsearchに移譲 Web API 検索 RDB RDB Reader Writer 複 製
登 録 ????ms 上昇トレンド Elasticsearch 検索 取 得 Index生成
ノード分散してくれるはず API Elasticsearch ノード0 ノード1 顧客A 顧客B 顧客C ノード2 顧客A
顧客B 顧客C ノード3 顧客A 顧客B 顧客C スケーリング 可能
3 速くなったよ
レイテンシが半減 400ms 200ms