Slide 1

Slide 1 text

2024/09/25 常見 一樹 求人検索をElasticsearchにしたら 速度2倍速くなった!! @ksilverwall

Slide 2

Slide 2 text

目次 ● 自己紹介・サービス紹介 ● 何が問題だったか? ● こうしてみた ● 速くなったよ

Slide 3

Slide 3 text

自己紹介:常見(ツネミ)です ● 開発11年目(36歳) ● バックエンドエンジニア ○ Reactも書きがち ● リプレイス案件多し タイミーの求人検索周りを開発中

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

1 何が問題だったか?

Slide 6

Slide 6 text

RDBが頑張っていた Web API 検索 RDB RDB RDB RDB RDB RDB RDB Reader Writer 900万人 検索 うおおおお!! 複 製 登 録 29.7万拠点 400-600ms 上昇トレンド RDB クラスタ

Slide 7

Slide 7 text

ストレージ 数で解決できなくなってきた CPU 〜30% 余裕だわ partition: 2023-12-01 IO まだ自分 できるっす API RDB partition: 2023-12-02 partition: 2023-12-03 フィルタ &ソート デカイ

Slide 8

Slide 8 text

募集人数の推移 コロナ禍においても、 過去に例を見ない程の 加速的高成長を実現。 ※1:2023年4Qと2022年4Qの比較 8 O(スキャン時間) =O(パーティションサイズ) =O(求人数/day)

Slide 9

Slide 9 text

リクエスト分散の限界 そうだElasticsearchにしよう

Slide 10

Slide 10 text

2 こうしてみた

Slide 11

Slide 11 text

検索をElasticsearchに移譲 Web API 検索 RDB RDB Reader Writer 複 製 登 録 ????ms 上昇トレンド Elasticsearch 検索 取 得 Index生成

Slide 12

Slide 12 text

ノード分散してくれるはず API Elasticsearch ノード0 ノード1 顧客A 顧客B 顧客C ノード2 顧客A 顧客B 顧客C ノード3 顧客A 顧客B 顧客C スケーリング 可能

Slide 13

Slide 13 text

3 速くなったよ

Slide 14

Slide 14 text

レイテンシが半減 400ms 200ms