Josh Thompson     about     blog     ☕️ with josh

Move Slow and Improve Things: Performance Improvement in a Rails App

Boulder Ruby Group Monthly Meetup @Recurly Offices, Feb 13, 2018

Slides are available here on Dropbox

Git Push, Git Paid

Here’s the “Git Push, Git Paid” t-shirt I mentioned:

git push git paid

Thoughtbot designed these, and it looks like they’re still available for purchase on CottonBureau for $28.

Slow Query lookup:

check to see what your current values are for long_query_time

SELECT
  start_time
  ,user_host
  ,query_time
  ,sql_text
  ,lock_time
  ,rows_sent
  ,rows_examined
  ,db
  ,last_insert_id
  ,insert_id
  ,server_id
  ,thread_id
FROM
  mysql.slow_log
WHERE
  start_time >= DATE_ADD(current_timestamp, INTERVAL -1 DAY)
  ORDER BY
    query_time DESC
LIMIT 10000;

What is Benchmarking and Profiling

Profiling and benchmarking are flip sides of the same coin, profiling helps you to narrow down to where optimization would be most useful, benchmarking allows you to easily isolate optimizations and cross-compare them.

Additional reading

I’ll be working on this Rails performance piece for a while, so if you’d like to see what else I’m learning, pop your email in below.

Full disclosure: sometimes I write about things other than Ruby on Rails.