SlideShare a Scribd company logo
Server Engineer
Shaun Verch
Capacity Planning:
Deploying
MongoDB
Capacity Planning
• Why is it important?
• What is it?
• When is it important?
• How is it actually done?
Why?
• What are the consequences of not planning?
Why does it matter?
What?
What is Capacity Planning?
Requirements
Resources
• Availability
• Throughput
• Responsiveness
Requirements
• Availability
• Throughput
• Responsivenes
s
Requirements to Hardware
Resource Usage
• Storage
– IOPS
– Size
– Data & Loading Patterns
• Memory
– Working Set
• CPU
– Speed
– Cores
• Network
– Latency
– Throughput
Storage
• Active
• Archival
• Loading Patterns
• Integration (BI/DW)
Storage
• Active
• Archival
• Loading Patterns
• Integration (BI/DW)
Example IOPS
Example IOPS
7,200 rpm SATA ~ 75-100 IOPS
15,000 rpm SAS ~ 175-210 IOPS
Amazon
EBS/Provisioned
~ 100 IOPS "up to" 2,000
IOPS
Amazon SSD 9,000 – 120,000 IOPS
Storage Capability
Intel X25-E (SLC) ~ 5,000 IOPS
Fusion IO ~ 135,000 IOPS
Violin Memory 6000 ~ 1,000,000 IOPS
Example IOPS
7,200 rpm SATA ~ 75-100 IOPS
15,000 rpm SAS ~ 175-210 IOPS
Amazon
EBS/Provisioned
~ 100 IOPS "up to" 2,000
IOPS
Amazon SSD 9,000 – 120,000 IOPS
Storage Capability
Intel X25-E (SLC) ~ 5,000 IOPS
Fusion IO ~ 135,000 IOPS
Violin Memory 6000 ~ 1,000,000 IOPS
Cost of IOPS
7,200 rpm SATA ~ 75-100 IOPS
15,000 rpm SAS ~ 175-210 IOPS
Amazon
EBS/Provisioned
~ 100 IOPS "up to" 2,000
IOPS
Amazon SSD 9,000 – 120,000 IOPS
Storage Costs
Memory
• Working Set
– Active Data in Memory
– Measured Over Periods
Memory
• Work:
–Sorting
–Aggregation
–Connections
SORTS
Connections
Aggregations
Memory & Storage
><
?
Working Set
Number of distinct pages
accessed per unit of time
Working Set
Number of distinct pages
accessed per second
Working Set
4 distinct pages per second
Working Set
4 distinct pages per second
Working Set
4 distinct pages per second
Worst case 4 disk accesses
Working Set
6 distinct pages per second
Working Set
6 distinct pages per second
Working Set
6 distinct pages per second
Working Set
6 distinct pages per second
Worst case disk access on every op
Memory & Storage
MOPs
PFs
CPU
• Non-indexed Data
• Sorting
• Aggregation
– Map/Reduce
– Framework
• Data
– Fields
– Nesting
– Arrays/Embedded-Docs
Network
• Latency
– WriteConcern
– ReadPreference
– Batching
• Throughput
– Update/Write Patterns
– Reads/Queries
What is failure?
• We have failed at Capacity Planning when our
resources don’t meet our requirements
• Because our requirements can have many
dimensions, we may exceed our requirements in
one characteristic but not meet them in another
• This means that we can spend many $$$ and still
fail!
What about Legacy Hardware?
• Let’s hope whatever worked for this legacy
technology also works for MongoDB
• Same principles of Capacity Planning still apply
When?
• Before it's too late!
• When?
Capacity Planning: When
Start Launch Version 2
Capacity Planning is Measurement
Measuring early gives you a comparison
point for when you need to do it again
Velocity of Change
• Limitations -> takes time
– Data Movement
– Allocation/Provisioning (servers/mem/disk)
• Improvement
– Limit Size of Change (if you can)
– Increase Frequency
– MEASURE its effect
– Practice
Repeat (continuously)
• Repeat Testing
• Repeat Evaluations
• Repeat Deployment
How?
Monitoring
Monitoring
 Storage
 Memory
 CPU
 Network
 Application Metrics
Tools
• MMS (MongoDB Monitoring Service)
• MongoDB: mongotop, mongostat
• Linux: iostat, vmstat, sar, etc
• Windows: Perfmon
Measure realistic loads (generated by Load testing)
Models
• Load/Users
– Response Time/TTFB
• System Performance
– Peak Usage
– Min Usage
Starter Questions
• What is the working set?
– How does that equate to memory
– How much disk access will that require
• How efficient are the queries?
• What is the rate of data change?
• How big are the highs and lows?
Deployment Types
All of these use the same resources:
• Single Instance
• Multiple Instances (Replica Set)
• Cluster (Sharding)
• Data Centers
Questions?
Server Engineer, MongoDB
Shaun Verch
Thank You

More Related Content

PDF
Capacity Planning
MongoDB
 
PDF
Capacity Planning
MongoDB
 
PPTX
Webinar: Capacity Planning
MongoDB
 
PPTX
Capacity Planning For Your Growing MongoDB Cluster
MongoDB
 
PDF
Postgres Open
Ines Sombra
 
PPTX
Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Esther Kundin
 
PDF
MongoDB Capacity Planning
Norberto Leite
 
PPTX
MongoDB Capacity Planning
Norberto Leite
 
Capacity Planning
MongoDB
 
Capacity Planning
MongoDB
 
Webinar: Capacity Planning
MongoDB
 
Capacity Planning For Your Growing MongoDB Cluster
MongoDB
 
Postgres Open
Ines Sombra
 
Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Esther Kundin
 
MongoDB Capacity Planning
Norberto Leite
 
MongoDB Capacity Planning
Norberto Leite
 

What's hot (20)

PPTX
Drupal performance
Piyuesh Kumar
 
PDF
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
asya999
 
PPTX
MongoDB and Amazon Web Services: Storage Options for MongoDB Deployments
MongoDB
 
PDF
Scaling Pinterest
C4Media
 
PDF
#GeodeSummit - Design Tradeoffs in Distributed Systems
PivotalOpenSourceHub
 
PPTX
Migration from Redshift to Spark
Sky Yin
 
PPTX
Ansible for large scale deployment
Karthik .P.R
 
PPTX
HBaseCon 2015 General Session: Zen - A Graph Data Model on HBase
HBaseCon
 
PPTX
RedisConf17 - Home Depot - Turbo charging existing applications with Redis
Redis Labs
 
PPTX
#GeodeSummit - Off-Heap Storage Current and Future Design
PivotalOpenSourceHub
 
PDF
Optimising for Performance
thomas_mb
 
PDF
Managing PostgreSQL with Ansible
EDB
 
PPTX
Zero ETL analytics with LLAP in Azure HDInsight
Ashish Thapliyal
 
PPTX
HDInsight for Architects
Ashish Thapliyal
 
PPTX
Compression talk
Ilya Ganelin
 
PDF
Cassandra Introduction & Features
Phil Peace
 
PDF
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode
PivotalOpenSourceHub
 
PDF
Hadoop Infrastructure (Oct. 3rd, 2012)
John Dougherty
 
PPTX
Running MongoDB on AWS
MongoDB
 
PDF
tdtechtalk20160330johan
Johan Gustavsson
 
Drupal performance
Piyuesh Kumar
 
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
asya999
 
MongoDB and Amazon Web Services: Storage Options for MongoDB Deployments
MongoDB
 
Scaling Pinterest
C4Media
 
#GeodeSummit - Design Tradeoffs in Distributed Systems
PivotalOpenSourceHub
 
Migration from Redshift to Spark
Sky Yin
 
Ansible for large scale deployment
Karthik .P.R
 
HBaseCon 2015 General Session: Zen - A Graph Data Model on HBase
HBaseCon
 
RedisConf17 - Home Depot - Turbo charging existing applications with Redis
Redis Labs
 
#GeodeSummit - Off-Heap Storage Current and Future Design
PivotalOpenSourceHub
 
Optimising for Performance
thomas_mb
 
Managing PostgreSQL with Ansible
EDB
 
Zero ETL analytics with LLAP in Azure HDInsight
Ashish Thapliyal
 
HDInsight for Architects
Ashish Thapliyal
 
Compression talk
Ilya Ganelin
 
Cassandra Introduction & Features
Phil Peace
 
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode
PivotalOpenSourceHub
 
Hadoop Infrastructure (Oct. 3rd, 2012)
John Dougherty
 
Running MongoDB on AWS
MongoDB
 
tdtechtalk20160330johan
Johan Gustavsson
 
Ad

Similar to Webinar: Capacity Planning (20)

PPTX
Capacity Planning
MongoDB
 
PPTX
Capacity Planning
MongoDB
 
PPTX
Capacityplanning
Paulo Fagundes
 
PPTX
Geek Sync I Capacity Planning for Improved Uptime
IDERA Software
 
PDF
Meta scale kognitio hadoop webinar
Kognitio
 
PDF
Scalability, Availability & Stability Patterns
Jonas Bonér
 
PPTX
Hardware Provisioning
MongoDB
 
KEY
Writing Scalable Software in Java
Ruben Badaró
 
PPTX
Handling Massive Writes
Liran Zelkha
 
PPT
NoSQL_Night
Clarence J M Tauro
 
PPTX
Flashy prefetching for high performance flash drives
Pratik Bhat
 
PPTX
Hadoop for the Absolute Beginner
Ike Ellis
 
PDF
Datavail Health Check
Datavail
 
PDF
DataIntensiveComputing.pdf
Brahmam8
 
PDF
Tuning Linux Windows and Firebird for Heavy Workload
Marius Adrian Popa
 
PDF
Podila mesos con-northamerica_sep2017
Sharma Podila
 
PPTX
The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool...
Lucas Jellema
 
PDF
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
Mohamed Sayed
 
PDF
Distributed Data processing in a Cloud
elliando dias
 
PDF
PostgreSQL as a Big Data Platform
Chris Travers
 
Capacity Planning
MongoDB
 
Capacity Planning
MongoDB
 
Capacityplanning
Paulo Fagundes
 
Geek Sync I Capacity Planning for Improved Uptime
IDERA Software
 
Meta scale kognitio hadoop webinar
Kognitio
 
Scalability, Availability & Stability Patterns
Jonas Bonér
 
Hardware Provisioning
MongoDB
 
Writing Scalable Software in Java
Ruben Badaró
 
Handling Massive Writes
Liran Zelkha
 
NoSQL_Night
Clarence J M Tauro
 
Flashy prefetching for high performance flash drives
Pratik Bhat
 
Hadoop for the Absolute Beginner
Ike Ellis
 
Datavail Health Check
Datavail
 
DataIntensiveComputing.pdf
Brahmam8
 
Tuning Linux Windows and Firebird for Heavy Workload
Marius Adrian Popa
 
Podila mesos con-northamerica_sep2017
Sharma Podila
 
The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool...
Lucas Jellema
 
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
Mohamed Sayed
 
Distributed Data processing in a Cloud
elliando dias
 
PostgreSQL as a Big Data Platform
Chris Travers
 
Ad

More from MongoDB (20)

PDF
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
PDF
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
PDF
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
PDF
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
PDF
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
PDF
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
PDF
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
PDF
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
PDF
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
PDF
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
PDF
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 

Recently uploaded (20)

PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 

Webinar: Capacity Planning

Editor's Notes

  • #5: Doesn’t meet your requirements
  • #6: Understand trade-offs!
  • #7: 7: Why, What, When, Where, How, WhoSkipping Who is you – that&apos;s why you&apos;re here, right?Where – hopefully on the same systems you&apos;ll be running in production, How -- bonusShow evidenceCapacity planning prerequisitesWhy do we need to do this?Epic fail – what&apos;s the consequence of not doing this?Thankless job – if you get it right no one notices. But if you get it wrong...Failure to project performance drop-off as the amount of data increases
  • #8: Once we launch, we don&apos;t want to have avoidable down time due to poorly selected HWAs our success grows we want to stay in front of the demand curveWe want to meet business&apos; and users&apos; expectationsWe want to keep our jobs and get big raises! ;)
  • #17: Initialize -&gt; ElectionPrimary + data replication from primary to secondary
  • #18: Break into separate slides - Show actual examples (possibly from mms) illustrating these points
  • #39: Note, change the color to match the actual things.
  • #40: top three – all add to memory what happens in RAM...if you have 64GB – 20GB sorting aggregation and connectionshow that each using more decreases availability for others2.4 will add a way to estimate &quot;working set&quot;
  • #41: top three – all add to memory what happens in RAM...if you have 64GB – 20GB sorting aggregation and connectionshow that each using more decreases availability for others2.4 will add a way to estimate &quot;working set&quot;
  • #43: Take out “Documents (and Collections)”
  • #53: PriorityFloating point number between 0..1000Highest member that is up to date wins Up to date == within 10 seconds of primaryIf a higher priority member catches up, it will force election and win Slave DelayLags behind master by configurable time delay Automatically hidden from clientsProtects against operator errorsFat fingeringApplication corrupts data
  • #61: PriorityFloating point number between 0..1000Highest member that is up to date wins Up to date == within 10 seconds of primaryIf a higher priority member catches up, it will force election and win Slave DelayLags behind master by configurable time delay Automatically hidden from clientsProtects against operator errorsFat fingeringApplication corrupts data