Databases are fundamental to every application, and reading or writing data in a quick and reliable way is critical to ensuring happy users. Your shiny new application may have worked well in the beginning, but with more and more people using the app the response times may take a nose dive. Or, what if you push a great new feature, guaranteed to make customers happy, but then it doesn’t scale or it actually degrades the performance of existing functionality? What do you do? How do you diagnose and resolve these issues in a timely and cost efficient manner?
Whilst many organizations employ a team of database administrators (DBAs) to manage database performance, it’s often a group separated from development and operational support with their own tools, scripts, and procedures. This creates inefficiency in the root cause analysis process. We want to empower customers by including deep-dive database monitoring as part of end-to-end APM, thereby providing immediate visibility of DB metrics to all groups within IT.
This session covers:
-Why it makes sense to include the database as part of API
-What are some real world problems affecting database performance
-What is a good methodology for diagnosing and understanding database performance
This deck was originally presented at AppSphere 2015.
7. DB Agent
SaaS or On-Premise On-Premise
Controller
HTTP(S)
AppDynamics Integrated DB Monitoring
Key Features
§ Low overhead – Production Safe
§ Rapid Installation – Agentless
§ Detailed & comprehensive analysis
§ Current & historical granular data
§ Consolidate web based GUI
§ Support for almost all versions of DB2
LUW, MS-SQL, Oracle, Sybase ASE,
Sybase IQ, PostgreSQL, MySQL and
MongoDB
§ Server Monitoring for Windows, Linux,
AIX and Solaris
14. Poorly sized buffer pool (MySQL)
Number of Physical I/
O’s to populate cache
15. Before and After - Buffer Pool Re-size
• 5 minute load tests were run
• Before recommendations we can see 5 mins 34 secs spent in MySQL
• After recommendations we can see just 27 secs of MySQL time
• 92% reduction in DB Time!
22. I/O Issues
• Detailed time-series metrics clearly show contention
• Time Spent in DB very high
• Wait State analysis shows PAGEIOLATCH_EX wait
• Host monitoring clearly shows increase in Read IOPS
23. Locking
34 seconds of Lock Wait Time!
88.8% of all activity time
spent in Lock Wait!
25. Key Concepts of the Solution
• Collection of metrics is agentless and read-only i.e. No
running code on Monitored DB
• Metrics are collected without the need to install/modify
additional components on monitored DB e.g. Modules/
Objects etc.
• Provide historical time-series information on Time
spent within DB supplemented by DB specific Metrics
• Gather information about all DB activity - not just
activity resulting from a monitored (with AppD APM)
application
26. Auto-Detection of the Cluster
• If mongoS then all ReplicaSets in the cluster will be discovered.
• If single ReplicaSet then Primary/Secondaries etc. will be monitored.
• Otherwise standalone mongod