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
Mongo: Performance and Troubleshooting
Search
gamechanger
August 21, 2012
Technology
0
310
Mongo: Performance and Troubleshooting
gamechanger
August 21, 2012
Tweet
Share
More Decks by gamechanger
See All by gamechanger
Concurrency + Mongo
gamechanger
0
110
Mongo and Ops
gamechanger
0
110
Other Decks in Technology
See All in Technology
プロダクトエンジニアリングで開発の楽しさを拡張する話
barometrica
0
110
AWS DDoS攻撃防御の最前線
ryutakondo
1
140
【OptimizationNight】数理最適化のラストワンマイルとしてのUIUX
brainpadpr
1
410
【CEDEC2025】『ウマ娘 プリティーダービー』における映像制作のさらなる高品質化へ!~ 豊富な素材出力と制作フローの改善を実現するツールについて~
cygames
PRO
0
250
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
910
ビジネス文書に特化した基盤モデル開発 / SaaSxML_Session_2
sansan_randd
0
280
データ基盤の管理者からGoogle Cloud全体の管理者になっていた話
zozotech
PRO
0
410
Findy Freelance 利用シーン別AI活用例
ness
0
380
データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~
datayokocho
0
140
Amazon Q と『音楽』-ゲーム音楽もAmazonQで作成してみた感想-
senseofunity129
0
120
Backlog AI アシスタントが切り開く未来
vvatanabe
0
110
【CEDEC2025】現場を理解して実現!ゲーム開発を効率化するWebサービスの開発と、利用促進のための継続的な改善
cygames
PRO
0
750
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Rails Girls Zürich Keynote
gr2m
95
14k
What's in a price? How to price your products and services
michaelherold
246
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Bash Introduction
62gerente
614
210k
Code Review Best Practice
trishagee
69
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
Making Projects Easy
brettharned
117
6.3k
Transcript
Performance & Troubleshooting @kirilnyc @gcsports
• How MongoDB works (layman's version) • Common failure cases
• Best practices
Fundamentals • OS Pager, LRU cache ejection • Working Set
and implications • Documents on disk
Virtual Memory LRU
Working Set
Documents on Disk
Failing • Underestimating Working Set • Ill-Fitting Use Cases •
Schema Design Mistakes
Oops, Overload
Estimating Working Set • Indexes • Core operational data (user
records, etc) • Secondary records (logs, sessions) • Long tail data (historical, related) • Scans*
I Know, Let's use Mongo!
Sub-optimal Use Cases • Session storage • Big fragmented collections
• Giant working sets + performance demands • Clearly tabular data
Simulated Joins!!!
Let's NoSQL! • Look for the largest granularity that works
• Eschew lookup collections • Prefer containment over reference • Query sparingly
Best Practices • Denormalize heavily • Do Capacity Planning •
Live in your slow query logs • Watch the numbers
Documents No thanks. Yes please.
Capacity Planning
Logs *yawn* Ruh-roh...
Numbers • Query load (subjective, learn yours) • Lock percentage
(< 50%) • Queues (single digits) • Page faults (single digits)
@kirilnyc CTO, GameChanger Media http://GC.io/about