# Speedshop > Speedshop is a Ruby on Rails performance consultancy. This site contains blog posts about Ruby and Rails performance, scaling, and optimization. ## Blog Posts - [Organization for Transformative Works Performance Audit](https://www.speedshop.co/blog/performance-lessons-from-ao3.md): A Rails performance audit report for the Organization for Transformative Works and Archive of Our Own. - [Announcing the Rails Performance Apocrypha](https://www.speedshop.co/blog/announcing-apocrypha.md): I've written a new book, compiled from 4 years of my email newsletter. - [We Made Puma Faster With Sleep Sort](https://www.speedshop.co/blog/we-made-puma-faster-with-sleep-sort.md): Puma 5 is a huge major release for the project. It brings several new experimental performance features, along with tons of bugfixes and features. Let - [The Practical Effects of the GVL on Scaling in Ruby](https://www.speedshop.co/blog/the-ruby-gvl-and-scaling.md): MRI Ruby's Global VM Lock: frequently mislabeled, misunderstood and maligned. Does the GVL mean that Ruby has no concurrency story or CaN'T sCaLe? To - [The World Follows Power Laws: Why Premature Optimization is Bad](https://www.speedshop.co/blog/why-premature-optimization-is-bad.md): Programmers vaguely realize that 'premature optimization is bad'. But what is premature optimization? I'll argue that any optimization that does not c - [Why Your Rails App is Slow: Lessons Learned from 3000+ Hours of Teaching](https://www.speedshop.co/blog/what-i-learned-teaching-rails-performance.md): I've taught over 200 people at live workshops, worked with dozens of clients, and thousands of readers to make their Rails apps faster. What have I le - [3 ActiveRecord Mistakes That Slow Down Rails Apps: Count, Where and Present](https://www.speedshop.co/blog/three-activerecord-mistakes.md): Many Rails developers don't understand what causes ActiveRecord to actually execute a SQL query. Let's look at three common cases: misuse of the count - [The Complete Guide to Rails Performance, Version 2](https://www.speedshop.co/blog/rails-performance-version-two.md): I've completed the 'second edition' of my course, the CGRP. What's changed since I released the course two years ago? Where do I see Rails going in th - [A New Ruby Application Server: NGINX Unit](https://www.speedshop.co/blog/nginx-unit-for-ruby.md): NGINX Inc. has just released Ruby support for their new multi-language application server, NGINX Unit. What does this mean for Ruby web applications? - [Malloc Can Double Multi-threaded Ruby Program Memory Usage](https://www.speedshop.co/blog/malloc-doubles-ruby-memory.md): Memory fragmentation is difficult to measure and diagnose, but it can also sometimes be very easy to fix. Let's look at one source of memory fragmenta - [Configuring Puma, Unicorn and Passenger for Maximum Efficiency](https://www.speedshop.co/blog/appserver.md): Application server configuration can make a major impact on the throughput and performance-per-dollar of your Ruby web application. Let's talk about t - [Is Ruby Too Slow For Web-Scale?](https://www.speedshop.co/blog/is-ruby-too-slow-for-web-scale.md): Choosing a new web framework or programming language for the web and wondering which to pick? Should performance enter your decision, or not? - [Railsconf 2017: The Performance Update](https://www.speedshop.co/blog/railsconf-2017-the-performance-update.md): Did you miss Railsconf 2017? Or maybe you went, but wonder if you missed something on the performance front? Let me fill you in! - [Understanding Ruby GC through GC.stat](https://www.speedshop.co/blog/a-guide-to-gc-stat.md): Have you ever wondered how the heck Ruby's GC works? Let's see what we can learn by reading some of the statistics it provides us in the GC.stat hash. - [Rubyconf 2016: The Performance Update](https://www.speedshop.co/blog/rubyconf-2016-performance-update.md): What happened at RubyConf 2016 this year? A heck of a lot of stuff related to Ruby performance, that's what. - [What HTTP/2 Means for Ruby Developers](https://www.speedshop.co/blog/what-http2-means-for-ruby-developers.md): Full HTTP/2 support for Ruby web frameworks is a long way off - but that doesn't mean you can't benefit from HTTP/2 today! - [How Changing WebFonts Made Rubygems.org 10x Faster](https://www.speedshop.co/blog/how-changing-webfonts-made-rubygems-10x-faster.md): WebFonts are awesome and here to stay. However, if used improperly, they can also impose a huge performance penalty. In this post, I explain how Rubyg - [Page Weight Doesn't Matter](https://www.speedshop.co/blog/page-weight-doesnt-matter.md): The total size of a webpage, measured in bytes, has little to do with its load time. Instead, increase network utilization: make your site preloader-f - [Hacking Your Webpage's Head Tags for Speed and Profit](https://www.speedshop.co/blog/hacking-head-tags-for-speed-and-profit.md): One of the most important parts of any webpage's performance is the content and organization of the head element. We'll take a deep dive on some easy - [How to Measure Ruby App Performance with New Relic](https://www.speedshop.co/blog/ruby-app-performance-with-new-relic.md): New Relic is a great tool for getting the overview of the performance bottlenecks of a Ruby application. But it's pretty extensive - where do you star - [Ludicrously Fast Page Loads - A Guide for Full-Stack Devs](https://www.speedshop.co/blog/frontend-performance-chrome-timeline.md): Your website is slow, but the backend is fast. How do you diagnose performance issues on the frontend of your site? We'll discuss everything involved - [Action Cable - Friend or Foe?](https://www.speedshop.co/blog/action-cable.md): Action Cable will be one of the main features of Rails 5, to be released sometime this winter. But what can Action Cable do for Rails developers? Are - [rack-mini-profiler - the Secret Weapon of Ruby and Rails Speed](https://www.speedshop.co/blog/rack-mini-profiler-the-secret-weapon.md): rack-mini-profiler is a powerful Swiss army knife for Rack app performance. Measure SQL queries, memory allocation and CPU time. - [Scaling Ruby Apps to 1000 Requests per Minute - A Beginner's Guide](https://www.speedshop.co/blog/scaling-ruby-apps-to-1000-rpm.md): Most "scaling" resources for Ruby apps are written by companies with hundreds of requests per second. What about scaling for the rest of us? - [Make your Ruby or Rails App Faster on Heroku](https://www.speedshop.co/blog/secrets-to-speedy-ruby-apps-on-heroku.md): Ruby apps in the memory-restrictive and randomly-routed Heroku environment don't have to be slow. Achieve under 100ms server response times with the t - [The Complete Guide to Rails Caching](https://www.speedshop.co/blog/the-complete-guide-to-rails-caching.md): Caching in a Rails app is a little bit like that one friend you sometimes have around for dinner, but should really have around more often. - [How To Use Turbolinks to Make Fast Rails Apps](https://www.speedshop.co/blog/100-ms-to-glass-with-rails-and-turbolinks.md): Is Rails dead? Can the old Ruby web framework no longer keep up in this age of "native-like" performance? Turbolinks provides one solution.