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.2k
求人検索をElasticsearchにしたら 速度2倍速くなった!!
Kazuki Tsunemi
September 29, 2024
Tweet
Share
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
750
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
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