Move Slow and Improve Things: Performance Improvement in a Rails App
Boulder Ruby Group Monthly Meetup @Recurly Offices, Feb 13, 2018
Git Push, Git Paid
Here’s the “Git Push, Git Paid” t-shirt I mentioned:
Slow Query lookup:
check to see what your current values are for
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.
- rack-mini-profiler docs
- 3 ActiveRecord Mistakes That Slow Down Rails Apps: Count, Where and Present (Nate Berkopec)
- Nate Berkopec’s The Complete Guide to Rails Performance
- The Website Obesity Crisis (Maciej Cegłowski)
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.