Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
データベースのメモリ管理周り〜OutofMemoryを撲滅したい〜
Search
Sankyo Toshio
July 20, 2024
Technology
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データベースのメモリ管理周り〜OutofMemoryを撲滅したい〜
最近DB周りで起きたインシデントへの考察と対策をお話します。
Sankyo Toshio
July 20, 2024
More Decks by Sankyo Toshio
See All by Sankyo Toshio
広島発!スタートアップ開発の裏側
tsankyo
0
490
スタートアップの開発とクラウドサービス
tsankyo
0
240
水産業ドメイン可視化と実装のコツ〜釣って捌いて食べてみる〜
tsankyo
1
990
素早く価値を届けるために スタートアップのプロダクトデリバリー戦略
tsankyo
0
770
水産業の辛いポイント、Railsがいてくれたから乗り越えられた
tsankyo
1
1.2k
Other Decks in Technology
See All in Technology
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
240
生き様としてのSRE
hokkai7go
0
130
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
2
560
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
190
ビジネス部門からPOを迎えての半年間の進歩と課題
zozotech
PRO
0
160
日本AIベンチャーレポート2026
kentarofujii
0
260
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
280
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
400
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
710
Microsoft のサポート ライフサイクルを理解する
murachiakira
PRO
0
230
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
5
2.7k
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
120
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
930
Are puppies a ranking factor?
jonoalderson
2
4.1k
Skip the Path - Find Your Career Trail
mkilby
1
270
YesSQL, Process and Tooling at Scale
rocio
174
15k
Visualization
eitanlees
153
17k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Facilitating Awesome Meetings
lara
57
7.2k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
880
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Transcript
データベースのメモリ管理周り by さんきょー(@t3qyo) Road to SRE NEXT@広島 LT
• さんきょー @t3qyo • PdMとたまにエンジニア • カープファン • 広島Uターンで水産業関連のスタートアップに 自己紹介
2 今、気仙沼(宮城)の カツオが脂のっててお すすめです✨
今日話すこと 3 こういうチューニングもあるよ。 というのがあればぜひ教えてください🙏 最近DB周りで起きたインシデントへの考察と対策をお話します。 本業はDB畑ではないんですが、このインシデントを解決したくて今回の登壇を機 にいろいろ調べました。
最近Sentry がこいつをちらほら 4
あかんやつです😢 5
考察 6 • ここ最近で発生するようになった • 発生タイミングはだいたい決まっている ◦ 一括アップロードを行っているタイミングが怪しいが Staging環境で負荷テストを行っても再現しない(そもそも完全 に本番環境を再現できていない)
一括アップロード単独で発生するわけでもなさそう。 • データベースのスペックは(まだ)問題なさそう。 平時は問題ないので、単純にスケールアップはしたくない ◦ 最大コネクション数 ◦ メモリ
やったこと 7 • Scout APMで重たい処理を確認して、 APIレベルのN+1潰す。使用メモリ削減 • Slow DB Queryを確認して対策
• 小さいクエリでも、毎回DB問い合わせ不要なものはキャッシュを使 う • Postgresの作業メモリ(work_mem)をデフォルト値から増やす
やったこと 8 • Scout APMで重たい処理を確認して、 APIレベルのN+1潰す。使用メモリ削減 •
やったこと 9 • Scout APMで重たい処理を確認して、 APIレベルのN+1潰す。使用メモリ削減 •
やったこと 10 • Slow DB Queryを確認して対策 謎のCOPY文 BIへの定期的な自前コピー処理が原因😭 → 外して、Replicaを使うように
• 小さいクエリでも、毎回DB問い合わせ不要なものはキャッシュを使 う やったこと 11
やったこと 12 • Postgresの作業メモリ(work_mem)をデフォルト値から増やす ◦ work_memが小さいとメモリを使ったクイックソートなどができ ず、実行計画が高くなる(参考) ◦ データ量が増えるにつれて適切な作業メモリを設定する必要があ る(参考)
学び 13 • ScoutAPMでAPIのメモリ使用状況可視化しておいてよかった ◦ ただ、(当たり前だが)DBに直接接続しているクライアントのクエリな どはDB側の監視ツールで把握する必要がある →API、DB両軸での対応が必要 • 単発のSQLでは発生しなくても、ユーザー数増加、他処理との組み合わせで
Out Of Memoryが発生する • Postgresではサービス拡大に合わせた作業メモリ(work_mem)の設定が必 要 • DBバックアップ、コピーの処理もメモリに影響を与えている
これから 14 • DBレベルでのSlow Query、メモリ利用状況をもっとわかりやすく取れるよ うにしたい💪 • AutoScaleしてくれるサービスへの移行も検討していきたい
ありがとうございました Road to SRE NEXT@広島 LT by さんきょー(@t3qyo) こういうチューニングもあるよ。 というのがあればぜひ教えてください🙏