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
新卒で始めるパフォーマンス改善【OpenSearchで苦労した話】
Search
kandalog
February 24, 2025
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新卒で始めるパフォーマンス改善【OpenSearchで苦労した話】
kandalog
February 24, 2025
More Decks by kandalog
See All by kandalog
must can willで振り返る新卒1年目とこれから
kandalog
0
140
失敗から学ぶチームコミュニケーション
kandalog
0
100
Other Decks in Programming
See All in Programming
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
250
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
290
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
160
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
2
340
Android CLI
fornewid
0
200
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
510
今さら聞けない .NET CLI
htkym
0
170
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
630
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
320
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
220
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
17k
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
160
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
830
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Fireside Chat
paigeccino
42
4k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
The untapped power of vector embeddings
frankvandijk
2
1.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
We Have a Design System, Now What?
morganepeng
55
8.2k
WCS-LA-2024
lcolladotor
0
780
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
750
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Writing Fast Ruby
sferik
630
63k
Transcript
©2024 Metaps Holdings, Inc. 新卒で始めるパフォーマンス改善 【OpenSearchで苦労した話】 株式会社メタップスホールディングス 新卒エンジニア 神⽥ 崇彰
©2024 Metaps Holdings, Inc. ⾃⼰紹介 神⽥ 崇彰 株式会社メタップスホールディングス 新卒エンジニア Takaaki
Kanda @tee_develop 2020年からWebアプリケーション開発を独学で学習。イタンジ株式会社に てPythonエンジニアとして経験を積んだ後、Simple株式会社にてフロン トエンドのリプレスを技術選定から担当し、開発に従事。 ⼤学卒業後は株式会社メタップスホールディングス、プラットフォーム戦 略部にて、srestの開発に従事 2
©2024 Metaps Holdings, Inc. srestはAWSファンデーショナルテクニカルレビュー (FTR)認証を取得しています
©2024 Metaps Holdings, Inc. 無料トライアル実施中!詳しくはお声がけください。
©2024 Metaps Holdings, Inc. OpenSearch
©2024 Metaps Holdings, Inc. OpenSearch 検索 集約 ログ分析 サイト検索 アプリのモニタリング
⾼速な検索エンジン 爆速
©2024 Metaps Holdings, Inc. OpenSearch srestでの使い⽅ AWSのイベントデータ コスト情報
©2024 Metaps Holdings, Inc. OpenSearch 検索条件 集計条件 作業⼿順 ▶ indexを作成
▶ データを投⼊ ▶ 検索条件の記述 ▶ 集計条件の記述
©2024 Metaps Holdings, Inc. OpenSearch 付属のDashBoardが便利
©2024 Metaps Holdings, Inc. 課題(パフォーマンス改善が必要だった理由) 30秒もユーザーを待たせたくない レスポンスが遅すぎてタイムアウトが発⽣する AWSの料⾦を可視化する機能 1年分のAWS Service毎のコスト情報を詳しく取得
AWS Lambdaで利⽤しているAPI GateWayの制限に引っかかる(30秒)
©2024 Metaps Holdings, Inc. そもそもなんで遅かったのか データの集計処理を全てRubyでやっていた ▶ 万単位データ集計をRubyで頑張ってた ▶ Rubyはそんなに速くない
▶ nested loopを含む関数を複数通す必要がある
©2024 Metaps Holdings, Inc. 私のレベル感
©2024 Metaps Holdings, Inc. 私のレベル感 検索エンジン?
©2024 Metaps Holdings, Inc. ブラウザの話?
©2024 Metaps Holdings, Inc. ⼀旦遊んでみる OpenSearchを好きに動かしてみる ▶ Docker環境の⽤意 ▶ 公式ドキュメントを読む
▶ Qiitaの記事読みながら好きにさわってみる ▶ ⽣成系AIを先⽣に壁打ち 初めての技術領域で右も左もわからない状態なので、まずは感覚を掴む
©2024 Metaps Holdings, Inc. 苦労した話
©2024 Metaps Holdings, Inc. 苦労した話 1 投⼊すべきデータの整形 ▶ タスクを進めるにあたって投⼊すべきデータを整形する必要があった ▶
何万⾏のデータに圧倒される ▶ ./jqコマンドが便利
©2024 Metaps Holdings, Inc. 苦労した話 1 投⼊すべきデータの整形 ▶ 不要なJSONを取り除く ▶
JSONの改⾏を取り除く ▶ {“index”: {}}{データ}の順で1⾏ずつ繰り返す
©2024 Metaps Holdings, Inc. 苦労した話 2 index構造が定まらない ▶ indexは既に作られていて検索と集計を担当してた ▶
途中でこの構造だと無理だと悟る ▶ 何度が構造を変更しながら試⾏錯誤が続く
©2024 Metaps Holdings, Inc. 苦労した話 3 仕様の漏れ ▶ 仕様の考慮漏れにより、index構造の再定義とクエリの再考が必要になった ▶
振り出しへ
©2024 Metaps Holdings, Inc. 苦労した話 3 仕様の漏れ ▶ 仕様の考慮漏れにより、index構造の再定義とクエリの再考が必要になった ▶
振り出しへ index構造を単純化
©2024 Metaps Holdings, Inc. 結果どうなった?
©2024 Metaps Holdings, Inc. 結果 タイムアウト 5.23秒 タイムアウト問題の解決 Web検証ツール 10秒以上
0.1秒 処理部分
©2024 Metaps Holdings, Inc. 結果 集計を⽬的とした関数:10 集計処理の関数: 0 ⼤量の集計処理の削除 移⾏後
©2024 Metaps Holdings, Inc. 感想
©2024 Metaps Holdings, Inc. 感想 ⼤変だったけど良い学びになった ▶ クリティカルなバグを含む重要なタスクを⼀任されてうれしい ▶ 仕様はちゃんと把握しよう
▶ 最後はやり切るぞという気合いが重要 ▶ OpenSearchの⾼速ドキュメント検索は多くの企業で需要ありそう
©2024 Metaps Holdings, Inc. 初LT登壇でした ありがとうございました