New Relic: Optimizing The Database SQL and NoSQL Alike

Preview:

Citation preview

Optimizing The DatabaseSQL and NoSQL Alike

August 31st, 2010 @ 11AM PSTBrian Doll

Application Performance Engineer

NewRelic.com

Monitoring Data Stores in RPM

NewRelic.com

Monitoring Data Stores in RPM

*

* Requires rpm_contrib

NewRelic.com

“SQL Instrumentation” ==“NoSQL Instrumentation”

=> true

NewRelic.com

Add rpm_contrib and go!

#Gemfile gem 'rpm_contrib'

Contribute at http://github.com/newrelic/rpm_contrib

NewRelic.com

Easy InstrumentationLearn more @ http://bit.ly/custom-instrumentation

NewRelic.com

Easy InstrumentationLearn more @ http://bit.ly/custom-instrumentation

add_method_tracer :find, ‘Database/#{self.name}/find’ #Database/Post/find

NewRelic.com

So what does RPM tell us about the database tier?

NewRelic.com

How much time are we in there?

NewRelic.com

NewRelic.com

DB vs. Cache: Fight!

NewRelic.com

Database Overview

NewRelic.com

NewRelic.com

Generic SELECTs

NewRelic.com

Table#find

NewRelic.com

Web Transaction Detail

NewRelic.com

NewRelic.com

EXPLAIN PLAN

NewRelic.com

But does it scale?

NewRelic.com

Database Report

NewRelic.com

What have we learned?

RPM provides detailed database metrics

RPM provides high-level database scalability metrics

RPM is db agnostic: SQL or NoSQL = no problem

It’s easy to instrument fancy new database engines if its not covered yet

You can’t scale without metrics

NewRelic.com

Any Questions?

Live Q&A during the webinar

http://support.newrelic.com/

Email: brian@newrelic.com / support@newrelic.com

Twitter: @NewRelic

IRC: #NewRelic on Freenode