Ruby Rogues

RR 379: "Caching in Rails" with Jeff Kreeftmeijer


Listen Later

Panel: 
- Charles Max Wood
- Dave Kimura
- Eric Berry
Special Guests: https://jeffkreeftmeijer.com In this episode of Ruby Rogues, the panel talks to https://jeffkreeftmeijer.com who is a Ruby and Elixir developer at https://appsignal.com. Jeff writes for the https://appsignal.com newsletter and has a blog. Check out today’s episode where the panel talks about AppSignal, Russian doll caching, Drifting Ruby, JavaScript Sprinkles, cache warming, N+1 plus other topics.Show Topics:2:47 – Code Fund & https://newrelic.com/?gclid=EAIaIQobChMIpbDg_MSz3QIVAhtpCh2qpgebEAAYASAAEgJnivD_BwE&utm_campaign=googlebrand+JM+ABM+Q1FY19+acq+NORAM&utm_medium=PS&utm_source=Google 3:40 – https://appsignal.com might be the only support for https://elixir-lang.org.4:12 – The integration, the ease was so simple and your (Jeff) documentation made it very easy.4:46 – Comparatively to New Relic, https://appsignal.com is cheaper, isn’t it?4:59 – We don’t charge for host, we charge per request. That’s where to difference in price comes from. You get a number of requests in your plan. https://appsignal.com – you pay for what you use.5:50 – Chuck has used New Relic in the past, but only pay for the month that he needs.6:07 – Panelist talks with Josh Adams and relays the conversation to the panel and the guest.6:48 – Eric to Dave: Do you run into this with https://www.driftingruby.com? Where people just pay for what they need and cancel afterwards.7:41 – Dave: Yes, I do come across this. There isn’t much you can do about it. People will do what they need to do.8:24 – Jeff: We don’t have a lot of this problem with https://appsignal.com. By the way, I have never done that before – you are all horrible! ☺9:02 – Chuck: Let’s dive into is what is your approach to performance on Rails?9:24 – We started the vlog series to help them with that. Sometimes you run into limits of what Ruby can do, and stuff like caching can help. It’s never really a single issue. That’s one of our challenges as a company to hook into everything (integration). We do support, per communication, to help with tech issues, but usually it’s set-up related. Everybody’s problems are different because everyone’s set-up is different.11:02 – Chuck: Most of these posts are about caching and other topics. I’m going to go to something that I misunderstood for a while and that is https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html I didn’t quite make the connection in my head.11:40 – First, let’s talk about fragment caching.13:49 – Jeff explains https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html 18:44 – Chuck makes comments and asks Jeff a question.19:43 – Jeff confirms the panelist’s answer.22:00 – Jeff: Another solution is https://github.com/avand/sprinkles 22:27 – Digital Ocean’s Advertisement.23:12 – Question from Chuck to Jeff.23:38 – Chuck talks about what he will discuss at the Summit conference in October.23:55 – Panelist has had experience with https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html. Performance can be smoke in mirrors. Application he worked on before, we did tons of caching (query caching, https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html, and others) it was all about handling the cache key.25:32 – More comments about caching from another panelist. https://www.section.io/blog/what-is-cache-warming/ is mentioned, too.26:46 – How do you utilize https://www.section.io/blog/what-is-cache-warming/?27:39 – Chuck asks a question.27:44 – Question answered.28:12 – Does something like this exist for http://www.phoenixsoftware.com/ode.htm?28:28 – Jeff: I don’t think there is something like that for http://www.phoenixsoftware.com/ode.htm.28:50 – Chuck: When do you want to use one caching over another caching?29:09 – Jeff: “Depends on a couple of things. https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html is a feature and that you “should” rely on https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html, and generally that is not an accepted thing. You could do that, but that is applied to a specific thing. What do you guys think?”30:31 – Panelist: Rendering partials is an expensive endeavor.31:38 – This topic continues between panelists and Jeff.32:25 – Jeff: Fragment caching is a good fit for that.32:56 – Question: You have a blog, one of your posts that you talk about you discuss open source projects maintainable. Talk to me how that led you to write it?33:32 – Jeff: Three things you should not do, based on mistakes that I made in the past.1.) https://github.com/jeffkreeftmeijer/navvy – had adapters for everything.2.) Dropping support for older visions of your dependencies.3.) Hand over projects if you can’t help anymore.This whole article is based on me messing up.35:07 – Chuck makes some comments.35:27 – Panelist: Ran into a problem the other day, there is a dependency that hasn’t been updated in over a year. They are waiting to solve all issues. I submitted an issue to be resolved.37:02 – https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html – is it a bug or a feature?37:12 – If you do nothing with it then it is a bug.37:21 – Chuck: to me a bug is an issue. It’s not a bug it’s inefficiency unless you turn it into something else.37:42 – Jeff: https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html is an undesirable feature? It’s not necessarily a bug. You need a very reliable caching layer.38:25 – Chuck: What is a very reliable caching layer?38:38 – Jeff answers the question.40:50 – https://redis.io is mentioned.42:04 – Jeff (guest) comments on the panelists’ thoughts.42:37 – Picks?42:57 – https://devchat.tv/get-a-coder-job/ 43:34 – PicksLinks:
- https://devchat.tv/get-a-coder-job/
- https://www.ruby-lang.org/en/
- https://www.javascript.com
- http://www.phoenixsoftware.com/ode.htm
- https://appsignal.com
- https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html
- https://github.com/avand/sprinkles
- https://www.section.io/blog/what-is-cache-warming/
- https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html
- https://redis.io
- https://blog.appsignal.com/2018/03/20/fragment-caching-in-rails.html
- https://github.com/thekompanee/fuubar
- https://github.com/jeffkreeftmeijer/navvy
- http://asciidoc.org
- https://asciidoctor.org
- https://meetme.so/ElixirMix
- https://newrelic.com/?gclid=EAIaIQobChMIpbDg_MSz3QIVAhtpCh2qpgebEAAYASAAEgJnivD_BwE&utm_campaign=googlebrand+JM+ABM+Q1FY19+acq+NORAM&utm_medium=PS&utm_source=Google
- https://elixir-lang.org
-

Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
...more
View all episodesView all episodes
Download on the App Store

Ruby RoguesBy Charles M Wood

  • 3.4
  • 3.4
  • 3.4
  • 3.4
  • 3.4

3.4

21 ratings


More shows like Ruby Rogues

View all
Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

272 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

283 Listeners

JavaScript Jabber by Charles M Wood

JavaScript Jabber

235 Listeners

iPhreaks by Charles M Wood

iPhreaks

17 Listeners

Ruby Rogues by Charles M Wood

Ruby Rogues

45 Listeners

The Freelancers' Show by Charles M Wood

The Freelancers' Show

23 Listeners

The Ruby on Rails Podcast by Elise Shaffer

The Ruby on Rails Podcast

53 Listeners

Adventures in Angular by Charles M Wood

Adventures in Angular

33 Listeners

The Bike Shed by thoughtbot

The Bike Shed

121 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

625 Listeners

React Native Radio by Jamon Holmgren, Robin Heinze, Mazen Chami

React Native Radio

59 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

269 Listeners

My JavaScript Story by Charles M Wood

My JavaScript Story

4 Listeners

JavaScript Jabber by Charles M Wood

JavaScript Jabber

61 Listeners

Adventures in Angular by Charles M Wood

Adventures in Angular

15 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

983 Listeners

REWORK by 37signals

REWORK

211 Listeners

Remote Ruby by Chris Oliver, Andrew Mason

Remote Ruby

34 Listeners

Maintainable by Robby Russell

Maintainable

32 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

64 Listeners

Code and the Coding Coders who Code it by Drew Bragg

Code and the Coding Coders who Code it

6 Listeners

Rooftop Ruby Podcast by Collin Donnell, Joel Drapper

Rooftop Ruby Podcast

3 Listeners

IndieRails by Jess Brown & Jeremy Smith

IndieRails

5 Listeners

Dead Code by Jared Norman

Dead Code

0 Listeners