SlideShare a Scribd company logo
© 2015 IBM Corporation© 2015 IBM Corporation
Optimize the performance of your enterprise
MongoDB applications with IBM APM
Timothee Bouhour, Product Manager
IBM Application Performance Management
© 2015 IBM Corporation
Please note
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole
discretion.
Information regarding potential future products is intended to outline our general product direction and it should not be relied
on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any
material, code or functionality. Information about potential future products may not be incorporated into any contract. The
development, release, and timing of any future features or functionality described for our products remains at our sole
discretion.
Symbols used are Copyright of their respective corporations.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The
actual throughput or performance that any user will experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage
configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results
similar to those stated here.
© 2015 IBM Corporation
The Application Economy of the 21st Century
3
Applications not only run the business, but increasingly drive competitive advantage and
create new business models
Mobile “apps”
Modern workforce expects
constantly updated software to
connect to enterprise systems
Cloud
Software can be developed and
hosted in a more flexible,
accessible, lower cost manner
Internet Of Things
The software component in
smart products and devices
enabling value creation through
connectivity and insight
Collaboration/Social
Connecting individuals, inside and outside the
organization, to share insights, assets and
improve quality
Big Data
New applications provide insights by
interpreting massive quantities of data
Innovation
Applications
Customers Business
Owners
Dev & Test Operations/
Production
Continuous Delivery
© 2015 IBM Corporation
360° View of the
Customer
Mobile & Social Apps Fraud Detection
User Data
Management
Content Management
& Delivery
Reference Data
Product Catalogs
Machine to Machine
Apps
Data Hub
MongoDB is good for…
© 2015 IBM Corporation
Developers
IT Operations
Lines of Business
Digital
Marketer/Strategi
st
Enable Immediate gratification
Instant access from anywhere
Connect and Collaborate
Low Touch, easy to consume
Minimal coding, lots of mashing
Continuously updating to delight, compete
End user experience,
Business transactions,
Customer experience
management
Infrastructure as Code
Manage on and off prem service
SocialMobile
Internet of Things
Cloud
Big Data
Consumer expectations are driving disruption in
Application Teams
© 2015 IBM Corporation
Applications are critical to business success
6
Slowdowns and outages impact customers, revenue, and reputation
Application Performance Management can keep your apps up and
protect your revenue and reputation
E-commerce websites
One of the largest e-commerce websites in the world experienced twelve
outages in a year, impacting their customers and reputation (link)
Financial and customer-impacting applications
Trading halted for half a day on the biggest US exchange for financial
options following an outage caused by software problems (link)
New technology and mobile applications
Customers poured out their wrath via social media after the largest video
streaming company had an over 20-hour outage on Christmas Eve (link)
© 2015 IBM Corporation
Without Application Performance Management With Application Performance Management
1. You don’t know there is a problem until your users
complain
1. Identify performance issues
2. It’s hard to figure out where the problem is
occurring
2. Isolate where the problem is occurring
3. Finding the cause and resolving a problem costs
time, people, and resources
3. Find the root cause of the problem
When there is an outage or a slowdown, users are affected
7
But it’s often next to impossible to figure out what’s going wrong
?
??
?
?
© 2015 IBM Corporation
Find the root cause of the problem down to the line of code
diagnose problems 90% faster
Identify performance issues before they affect your users
improve availability by 60-90%
Isolate where the problem is occurring by visualizing bottlenecks
reduce outages by 50% or more
Reduce your costs with SaaS deployment
improve TCO by up to 45%
1
2
3
Application Performance Management
8
Helps you keep your users happy and your revenue flowing
© 2015 IBM Corporation9
What clients say
• Videotron enables sustained service delivery, fosters
business growth and protects the company’s image by
implementing transaction tracking to monitor its end
user experience. Simulating transactions helps the
client avoid incidents that could be damaging to the
company.
Videotron – a cable, mobile and Internet Service
provider
• “Many times a problem was found before it hit our
clients”
Lajos Tancsik, Head of IT operations, CIB Bank
9
The features
• End User Experience
get information straight from the
browser about who your users are
and how their experience is
• Infrastructure monitoring
know the status of all
your components and
when one is starting to fail
• Predictive Insights
Be warned of an application
outage before is occurs
How they help
• When you have a problem, you can resolve it before
your customers notice and complain!
Identify performance issues before they affect your users
improve availability by 60-90%1
© 2015 IBM Corporation10
What clients say
• China Everbright Bank gained an
efficient, scalable management platform
for end-to-end transactions monitoring.
They can now quickly and easily detect,
diagnose and isolate transaction issues,
enabling faster troubleshooting and
avoiding potential risks - enabling them to
reduce operating and maintenance costs
and enhance user satisfaction.
China Everbright Bank
10
The features
• Transaction tracking
See what happens in your environment every
time a user initiates a transaction
How they help
• Identify at a glance where the problematic
pieces of a transaction are (the “bottleneck”)
Isolate where the problem is occurring by visualizing bottlenecks
reduce outages by 50% or more2
© 2015 IBM Corporation
Find the root cause of the problem down to the line of code
diagnose problems 90% faster3
11
What clients say
• Streamlining and centralizing processes
helps us accelerate delivery of channel
usage analytics by 60%.
Barclays Bank
11
The features
• Line of Code Diagnostics – drill down into a
problem until you find what is behind it
How they help
• Find the root cause fast whether it’s a failing
component of your app, a slowly responding
database query, or a poor performing line of
code
© 2015 IBM Corporation
How does APM work and what do you need to do?
12
End users
Web Servers App Servers Databases
agent agent agent
APM
Backend
You install our “agents” on the different pieces of your applications.
These agents collect key data and send it back to our
APM “backend”
The APM backend then analyzes the data and
provides the users with useful dashboards in the
APM User Interface (APM UI)
Devices
© 2015 IBM Corporation
Huge Breadth of Coverage and still expanding
13
See our full coverage
© 2015 IBM Corporation
IBM Performance Management for MongoDB monitors….
 Availability of the MongoDB cluster,
replication set, and single instances
 Shard statistics, indexing statistics
 Holding and acquiring lock times of read and
writes to each database on each MongoDB
process
 Disk usage by collections, used connections
 Detailed response time breakdown for
MongoDB daemons and operation types.
© 2015 IBM Corporation
The next step – IBM Service Engage
Learn, Explore, Try and Buy IBM Application Performance Management
© 2015 IBM Corporation© 2015 IBM Corporation
Thank You
@TimBouhour
timbouhour@us.ibm.com
Backup – Demo
© 2015 IBM Corporation
The Application Owner logs into the IBM Performance Management tool to
diagnose the root cause of the problem. He notices the web response time of the
HR app trending upward. He notices there are some critical events.
© 2015 IBM Corporation
On the events panel there are a few events for Ruby that indicate a high response time on
the GET and PATCH requests for the “Profiles” page of the HR application. He clicks on an
event to go to the Ruby dashboard.
© 2015 IBM Corporation
On this dashboard he sees various metrics that are being displayed about Ruby. By sorting
the response time list, he can see the slowest requests. In order to diagnose further he hits
the “Diagnose” link
© 2015 IBM Corporation
The Diagnose link takes him to a view that gives him code level visibility. He can see
the exact Ruby class and method that is causing the slow GET/PATCH requests for
the “Profiles” page. He finds out that the “ProfilesController.Update” method is taking
a very long time. Being the application owner he knows that the Update method is the
one that makes the heavy calls to update data in the MongoDB database.
© 2015 IBM Corporation
He now clicks on the MongoDB dashboard to see what’s going on there
On the MongoDB dashboard there are various metrics related to the health of the MongoDB
database. He clicks on the “profiles” collection related to the “Profiles” page
© 2015 IBM Corporation
The shard statistics of the “profiles” collection indicates that his shards are unbalanced both
in object and data size percentage. This proves that his shard key is causing the bad
response time; one shard has to do a large amount of the work.
© 2015 IBM Corporation
There is various other information indicating problems like lock times increasing,
memory usage and virtual memory usage increasing for the MongoDB database.
The Operations widget shows that the Update and GetMore operations are taking
very long
© 2015 IBM Corporation
I/O information shows data access information
© 2015 IBM Corporation
Database lock information gives us lock times for holds and acquires

More Related Content

APM Talk

  • 1. © 2015 IBM Corporation© 2015 IBM Corporation Optimize the performance of your enterprise MongoDB applications with IBM APM Timothee Bouhour, Product Manager IBM Application Performance Management
  • 2. © 2015 IBM Corporation Please note IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Symbols used are Copyright of their respective corporations. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  • 3. © 2015 IBM Corporation The Application Economy of the 21st Century 3 Applications not only run the business, but increasingly drive competitive advantage and create new business models Mobile “apps” Modern workforce expects constantly updated software to connect to enterprise systems Cloud Software can be developed and hosted in a more flexible, accessible, lower cost manner Internet Of Things The software component in smart products and devices enabling value creation through connectivity and insight Collaboration/Social Connecting individuals, inside and outside the organization, to share insights, assets and improve quality Big Data New applications provide insights by interpreting massive quantities of data Innovation Applications Customers Business Owners Dev & Test Operations/ Production Continuous Delivery
  • 4. © 2015 IBM Corporation 360° View of the Customer Mobile & Social Apps Fraud Detection User Data Management Content Management & Delivery Reference Data Product Catalogs Machine to Machine Apps Data Hub MongoDB is good for…
  • 5. © 2015 IBM Corporation Developers IT Operations Lines of Business Digital Marketer/Strategi st Enable Immediate gratification Instant access from anywhere Connect and Collaborate Low Touch, easy to consume Minimal coding, lots of mashing Continuously updating to delight, compete End user experience, Business transactions, Customer experience management Infrastructure as Code Manage on and off prem service SocialMobile Internet of Things Cloud Big Data Consumer expectations are driving disruption in Application Teams
  • 6. © 2015 IBM Corporation Applications are critical to business success 6 Slowdowns and outages impact customers, revenue, and reputation Application Performance Management can keep your apps up and protect your revenue and reputation E-commerce websites One of the largest e-commerce websites in the world experienced twelve outages in a year, impacting their customers and reputation (link) Financial and customer-impacting applications Trading halted for half a day on the biggest US exchange for financial options following an outage caused by software problems (link) New technology and mobile applications Customers poured out their wrath via social media after the largest video streaming company had an over 20-hour outage on Christmas Eve (link)
  • 7. © 2015 IBM Corporation Without Application Performance Management With Application Performance Management 1. You don’t know there is a problem until your users complain 1. Identify performance issues 2. It’s hard to figure out where the problem is occurring 2. Isolate where the problem is occurring 3. Finding the cause and resolving a problem costs time, people, and resources 3. Find the root cause of the problem When there is an outage or a slowdown, users are affected 7 But it’s often next to impossible to figure out what’s going wrong ? ?? ? ?
  • 8. © 2015 IBM Corporation Find the root cause of the problem down to the line of code diagnose problems 90% faster Identify performance issues before they affect your users improve availability by 60-90% Isolate where the problem is occurring by visualizing bottlenecks reduce outages by 50% or more Reduce your costs with SaaS deployment improve TCO by up to 45% 1 2 3 Application Performance Management 8 Helps you keep your users happy and your revenue flowing
  • 9. © 2015 IBM Corporation9 What clients say • Videotron enables sustained service delivery, fosters business growth and protects the company’s image by implementing transaction tracking to monitor its end user experience. Simulating transactions helps the client avoid incidents that could be damaging to the company. Videotron – a cable, mobile and Internet Service provider • “Many times a problem was found before it hit our clients” Lajos Tancsik, Head of IT operations, CIB Bank 9 The features • End User Experience get information straight from the browser about who your users are and how their experience is • Infrastructure monitoring know the status of all your components and when one is starting to fail • Predictive Insights Be warned of an application outage before is occurs How they help • When you have a problem, you can resolve it before your customers notice and complain! Identify performance issues before they affect your users improve availability by 60-90%1
  • 10. © 2015 IBM Corporation10 What clients say • China Everbright Bank gained an efficient, scalable management platform for end-to-end transactions monitoring. They can now quickly and easily detect, diagnose and isolate transaction issues, enabling faster troubleshooting and avoiding potential risks - enabling them to reduce operating and maintenance costs and enhance user satisfaction. China Everbright Bank 10 The features • Transaction tracking See what happens in your environment every time a user initiates a transaction How they help • Identify at a glance where the problematic pieces of a transaction are (the “bottleneck”) Isolate where the problem is occurring by visualizing bottlenecks reduce outages by 50% or more2
  • 11. © 2015 IBM Corporation Find the root cause of the problem down to the line of code diagnose problems 90% faster3 11 What clients say • Streamlining and centralizing processes helps us accelerate delivery of channel usage analytics by 60%. Barclays Bank 11 The features • Line of Code Diagnostics – drill down into a problem until you find what is behind it How they help • Find the root cause fast whether it’s a failing component of your app, a slowly responding database query, or a poor performing line of code
  • 12. © 2015 IBM Corporation How does APM work and what do you need to do? 12 End users Web Servers App Servers Databases agent agent agent APM Backend You install our “agents” on the different pieces of your applications. These agents collect key data and send it back to our APM “backend” The APM backend then analyzes the data and provides the users with useful dashboards in the APM User Interface (APM UI) Devices
  • 13. © 2015 IBM Corporation Huge Breadth of Coverage and still expanding 13 See our full coverage
  • 14. © 2015 IBM Corporation IBM Performance Management for MongoDB monitors….  Availability of the MongoDB cluster, replication set, and single instances  Shard statistics, indexing statistics  Holding and acquiring lock times of read and writes to each database on each MongoDB process  Disk usage by collections, used connections  Detailed response time breakdown for MongoDB daemons and operation types.
  • 15. © 2015 IBM Corporation The next step – IBM Service Engage Learn, Explore, Try and Buy IBM Application Performance Management
  • 16. © 2015 IBM Corporation© 2015 IBM Corporation Thank You @TimBouhour timbouhour@us.ibm.com
  • 18. © 2015 IBM Corporation The Application Owner logs into the IBM Performance Management tool to diagnose the root cause of the problem. He notices the web response time of the HR app trending upward. He notices there are some critical events.
  • 19. © 2015 IBM Corporation On the events panel there are a few events for Ruby that indicate a high response time on the GET and PATCH requests for the “Profiles” page of the HR application. He clicks on an event to go to the Ruby dashboard.
  • 20. © 2015 IBM Corporation On this dashboard he sees various metrics that are being displayed about Ruby. By sorting the response time list, he can see the slowest requests. In order to diagnose further he hits the “Diagnose” link
  • 21. © 2015 IBM Corporation The Diagnose link takes him to a view that gives him code level visibility. He can see the exact Ruby class and method that is causing the slow GET/PATCH requests for the “Profiles” page. He finds out that the “ProfilesController.Update” method is taking a very long time. Being the application owner he knows that the Update method is the one that makes the heavy calls to update data in the MongoDB database.
  • 22. © 2015 IBM Corporation He now clicks on the MongoDB dashboard to see what’s going on there On the MongoDB dashboard there are various metrics related to the health of the MongoDB database. He clicks on the “profiles” collection related to the “Profiles” page
  • 23. © 2015 IBM Corporation The shard statistics of the “profiles” collection indicates that his shards are unbalanced both in object and data size percentage. This proves that his shard key is causing the bad response time; one shard has to do a large amount of the work.
  • 24. © 2015 IBM Corporation There is various other information indicating problems like lock times increasing, memory usage and virtual memory usage increasing for the MongoDB database. The Operations widget shows that the Update and GetMore operations are taking very long
  • 25. © 2015 IBM Corporation I/O information shows data access information
  • 26. © 2015 IBM Corporation Database lock information gives us lock times for holds and acquires