Menu
Sign In Pricing Add Podcast
Podcast Image

Ruby Rogues

RR 379: "Caching in Rails" with Jeff Kreeftmeijer

Tue, 11 Sep 2018

Description

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.

Audio
Featured in this Episode

No persons identified in this episode.

Transcription
Comments

There are no comments yet.

Please log in to write the first comment.